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.

  1. Un carattere normale è qualsiasi carattere alfanumerico usato nella ricerca. Ad esempio la lettera "b" della parola "bene", "bastone", "abbastanza", ecc.
  2. 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:

i caratteri speciali nel regex

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 ).

i caratteri speciali aggiuntivi nel regex

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.
un esempio di funzione in regex

Il backslash nelle espressioni regolari

Il carattere backslash è molto importante nelle espressioni regolari perché ha una duplice funzione:

  1. 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.
    un esempio di funzione in regex
  2. 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.
    il carattere backslash consente di cercare un carattere speciale in una stringa

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.

come cercare il simbolo backslash in una stringa con le regular expression

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.

 


 

Segnalami un errore, un refuso o un suggerimento per migliorare gli appunti

FacebookTwitterLinkedinLinkedin
knowledge base

Regular expressions