Per creare un'espressione regolare occorre utilizzare una sintassi specifica, ossia caratteri speciali e regole di costruzione. Ad esempio, la seguente è una semplice espressione regolare che corrisponde a qualsiasi numero di telefono di 10 cifre, nel pattern nnn-nnn-nnnn:
\d{3}-\d{3}-\d{4}
Nella seguente tabella sono descritti alcuni dei caratteri speciali più comuni utilizzati nelle espressioni regolari. Questi caratteri sono classificati come descritto di seguito:
| Caratteri | Descrizione |
|---|---|
| Ancoraggi | |
| ^ | (accento circonflesso) Corrisponde all'inizio della riga o stringa di testo in cui si esegue la ricerca tramite l'espressione regolare. Ad esempio, una regola relativa ai contenuti in cui la posizione dei contenuti è la riga Oggetto e l'espressione regolare è la seguente: ^abc individuerà qualsiasi messaggio email in cui la riga dell'oggetto inizi con le lettere abc |
| $ | (dollaro) Corrisponde alla fine della riga o stringa di testo in cui si esegue la ricerca tramite l'espressione regolare. Ad esempio, una regola relativa ai contenuti in cui la posizione dei contenuti è la riga Oggetto e l'espressione regolare è la seguente: xyz$ individuerà qualsiasi messaggio email in cui la riga dell'oggetto termini con le lettere xyz |
| Metacaratteri | |
| . | (punto) Trova qualsiasi carattere singolo, eccetto il carattere che rappresenta un ritorno a capo. |
| | | (barra verticale) indica un'alternativa, ossia l'operatore "or". Ad esempio: gatto|cane trova le parole gatto o cane |
| \ | Indica che il carattere successivo è un carattere letterale e non un carattere speciale. Ad esempio: \. trova un punto letterale, anziché qualsiasi carattere (carattere punto) |
| Classi di caratteri | |
| [...] | Trova qualsiasi carattere incluso in un insieme di caratteri. Separa il primo e l'ultimo carattere di un insieme con un trattino. Ad esempio: [123] trova le cifre 1, 2 e 3 [a-f] trova qualsiasi lettera compresa tra a ed f Nota:nei criteri relativi alla conformità dei contenuti, le espressioni regolari sono sensibili alle maiuscole. |
| [^...] | Trova qualsiasi carattere non incluso nell'insieme di caratteri. Ad esempio: [^a-f]trova qualsiasi carattere che non sia una lettera compresa tra a ed f Nota:nei criteri relativi alla conformità dei contenuti, le espressioni regolari sono sensibili alle maiuscole. |
| [:alnum:] | Trova i caratteri alfanumerici (lettere o cifre): a-z, A-Z o 0-9 Nota:quando viene utilizzata in un'espressione regolare, questa classe di caratteri deve essere racchiusa in un'altra coppia di parentesi quadre, ad esempio: [[:alnum:]]. |
| [:alpha:] | Trova i caratteri alfabetici (lettere): a-z o A-Z Nota:quando viene utilizzata in un'espressione regolare, questa classe di caratteri deve essere racchiusa in un'altra coppia di parentesi quadre, ad esempio: [[:alpha:]]. |
| [:digit:] | Trova le cifre: 0-9 Nota:quando viene utilizzata in un'espressione regolare, questa classe di caratteri deve essere racchiusa in un'altra coppia di parentesi quadre, ad esempio: [[:digit:]]. |
| [:graph:] | Trova solo i caratteri visibili, vale a dire qualsiasi carattere tranne gli spazi, i caratteri di controllo e così via. Nota:quando viene utilizzata in un'espressione regolare, questa classe di caratteri deve essere racchiusa in un'altra coppia di parentesi quadre, ad esempio: [[:graph:]]. |
| [:punct:] | Trova i caratteri di punteggiatura e i simboli: ! " # $ % & ' ( ) * + , \ -. / : ; < = > ? @ [ ] ^ _ ` { | } Nota: quando viene utilizzata in un'espressione regolare, questa classe di caratteri deve essere racchiusa in un'altra coppia di parentesi quadre, ad esempio: [[:punct:]]. |
| [:print:] | Trova i caratteri visibili e gli spazi. Nota:quando viene utilizzata in un'espressione regolare, questa classe di caratteri deve essere racchiusa in un'altra coppia di parentesi quadre, ad esempio: [[:print:]]. |
| [:space:] | Trova tutti i caratteri che rappresentano spazi vuoti, inclusi gli spazi, le tabulazioni e le interruzioni di riga. Nota:quando viene utilizzata in un'espressione regolare, questa classe di caratteri deve essere racchiusa in un'altra coppia di parentesi quadre, ad esempio: [[:space:]]. |
| [:word:] | Trova qualsiasi carattere che possa essere incluso in una parola, vale a dire qualsiasi lettera, cifra o il trattino basso: a-z, A-Z, 0-9 o _ Nota:quando viene utilizzata in un'espressione regolare, questa classe di caratteri deve essere racchiusa in un'altra coppia di parentesi quadre, ad esempio: [[:word:]]. |
| Forme brevi per le classi di caratteri | |
| \w | Trova qualsiasi carattere che possa essere incluso in una parola, vale a dire qualsiasi lettera, cifra o il trattino basso: a-z, A-Z, 0-9 o _ Equivalente a [:word:] |
| \W | Trova qualsiasi carattere che non può essere incluso in una parola, vale a dire qualsiasi carattere diverso da una lettera, una cifra o dal trattino basso. Equivalente a [^[:word:]] |
| \s | Trova qualsiasi carattere che rappresenti uno spazio vuoto. Ad esempio, puoi utilizzare questo carattere per specificare uno spazio tra parole in un sintagma: quotazioni\sborsa trova il sintagma quotazioni borsa Equivalente a [:space:] |
| \S | Trova qualsiasi carattere che non rappresenti uno spazio vuoto. Equivalente a [^[:space:]] |
| \d | Trova qualsiasi cifra compresa tra 0 e 9. Equivalente a [:digit:] |
| \D | Trova qualsiasi carattere diverso dalle cifre comprese tra 0 e 9. Equivalente a [^[:digit:]] |
| Gruppo | |
| (...) | Raggruppa parti di un'espressione. Utilizza i raggruppamenti per applicare un quantificatore a un gruppo o per trovare una classe di caratteri che segue o precede un gruppo. |
| Quantificatori | |
| {n} | Trova l'espressione precedente quando è presente esattamente n volte. Ad esempio: [a-c]{2} trova qualsiasi lettera compresa tra a e c solo quando sono presenti due lettere di seguito. Questa espressione troverà quindi ab e bc ma non abc o aabbc. |
| {n,m} | Trova l'espressione precedente quando è presente minimo n volte e massimo m volte. Ad esempio: [a-c]{2,4} trova qualsiasi lettera compresa tra a e c solo se le lettere sono presenti un minimo di 2 e un massimo di 4 volte di seguito. Pertanto, l'espressione troverà ab e abc ma non aabbc. |
| ? | Indica che il carattere o l'espressione precedente può essere presente 0 volte o 1 volta. Equivalente all'intervallo {0,1}. Ad esempio, l'espressione regolare seguente: colou?r corrisponde a colour o color, perché il carattere ? rende facoltativa la lettera u. |