I caratteri speciali nelle espressioni regolari
Nelle regular expression si possono utilizzare caratteri speciali e caratteri normali. Spesso uno stesso carattere può essere usato in entrambi i modi.
La differenza tra caratteri normali e speciali
Prima di approfondire la conoscenza delle espressioni regolari, occorre tenere a mente la differenza tra caratteri normali e speciali.
- Un carattere normale è qualsiasi carattere alfanumerico usato nella ricerca. Ad esempio la lettera "b" della parola "bene", "bastone", "abbastanza", ecc.
- Un carattere speciale è un carattere a cui è associata una funzione nelle regex. Ad esempio il simbolo "^" è usato per indicare l'inizio della riga.
La lista dei caratteri speciali delle regex
I principali caratteri speciali nelle regular expression sono i seguenti:
Questi simboli hanno una funzione propria, quando sono inseriti in una regex non sono considerati come caratteri normali bensì direttamente come funzioni.
C'è però un problema, le funzioni sono molte ma i caratteri speciali a disposizione sono pochi.
Pertanto, è necessario trovare altri simboli aggiuntivi.
Per questo motivo alcuni caratteri normali diventano speciali quando sono preceduti dalla barra inversa ( backslash ).
Nelle regex ad alcuni caratteri normali ( abcde...z ) è assegnata una funzione quando sono preceduti dal simbolo backslash.
In questo modo è stato ampliato il numero delle funzioni disponibili utilizzabili in un'espressione regolare.
Esempio. La lettera "b" è un carattere normale. Tuttavia, se gli antepongo la barra inversa ( backslahes ) smette di essere considerato un carattere normale per diventare la funzione che trova il bordo iniziale o finale di una parola parola.
Il backslash nelle espressioni regolari
Il carattere backslash è molto importante nelle espressioni regolari perché ha una duplice funzione:
- Il backslash trasforma un carattere normale in una funzione. Ad esempio, la lettera "b" anteposta da una barra inversa diventa la funzione che trova i bordi della parola. Nel seguente esempio posso così trovare tutte le parole che cominciano con la lettera "i" minuscola.
- Il backslash trasforma un carattere speciale in un carattere normale. Ad esempio, il carattere speciale "^" è la funzione che trova l'inizio della riga. Tuttavia, se volessi cercare nel testo il carattere "^" senza usare la funzione, mi basterebbe anteporgli il backslash.
Nota. Occorre fare attenzione, il backslash è il simbolo della barra rovesciata ( escape ) che si trova in alto a sinistra della tastiera. Non va confuso con il simbolo della barra della divisione.
E per usare il backslash come carattere normale?
Il backslash è un carattere speciale. Pertanto, non può essere usato direttamente nelle operazioni di ricerca.
Se volessi usare il backslash come carattere normale da cercare in una stringa, basta digitare due backslash consecutive.
Il primo backslash rimuove la funzione al secondo backslash e lo utilizza come carattere normale.
In questo modo posso cercare la barra inversa in una stringa di testo.