Appendice D. Espressioni regolari
Le espressioni regolari (regex, in breve) ammesse per le operazioni di ricerca sono quelle riconosciute da Java. Per ulteriori e più specifiche informazioni, consultare la documentazione Java Regex. Vedere più avanti per ulteriori riferimenti ed esempi.
Nota
Questo capitolo si rivolge agli utenti avanzati, che hanno la necessità di definire le proprie varianti delle regole di segmentazione o costruire combinazioni di ricerca più complesse ed efficaci.
Tabella D.1. Regex - Flag
Il costrutto |
...corrisponde al seguente |
(?i) |
Consente di avviare una ricerca che non consideri le lettere maiuscole e minuscole (per impostazione predefinita, il modello distingue tra maiuscole e minuscole). |
Tabella D.2. Regex - Carattere
Il costrutto |
...corrisponde al seguente |
x |
Viene rilevato il carattere corrispondente a x, ma con le seguenti eccezioni... |
\uhhhh |
Viene rilevato il carattere col valore esadecimale 0xhhhh |
\t |
Carattere di tabulazione ('\u0009') |
\n |
Carattere corrispondente a un avanzamento di riga (line feed, LF) ('\u000A') |
\r |
Carattere corrispondente a un ritorno di carrello (carriage-return, CR) ('\u000D') |
\f |
Carattere corrispondente all'inizio di una nuova pagina in una stampa (form feed) ('\u000C') |
\a |
Carattere di controllo bell ('\u0007') |
\e |
Carattere escape ('\u001B') |
\cx |
Carattere di controllo corrispondente a x |
\0n |
Carattere col valore ottale 0n (0 <= n <= 7) |
\0nn |
Carattere col valore ottale 0nn (0 <= n <= 7) |
\0mnn |
Carattere col valore ottale 0mnn (0 <= m <= 3, 0 <= n <= 7) |
\xhh |
Carattere col valore esadecimale 0xhh |
Tabella D.3. Regex - Citazione
Il costrutto |
...corrisponde al seguente |
\ |
Nulla, se non il carattere immediatamente successivo. È necessario quando si desidera usare i metacaratteri !$()*+.<>?[\]^{|} in modo che vengano utilizzati come caratteri e non come operatori. |
\\ |
Per esempio, questa combinazione corrisponde al carattere della barra rovesciata (“ \ ”). |
\Q |
Nulla, ma indica tutti i caratteri fino a \E |
\E |
Nulla, ma conclude la citazione iniziata da \Q |
Tabella D.4. Regex - Classi per blocchi e categorie Unicode
Il costrutto |
...corrisponde al seguente |
\p{InGreek} |
Carattere nel blocco greco ( blocco semplice) |
\p{Lu} |
Lettera maiuscola ( categoria semplice) |
\p{Sc} |
Simbolo di valuta |
\P{InGreek} |
Qualsiasi carattere, eccetto uno nel blocco greco (negazione) |
[\p{L}&&[^\p{Lu}]] |
Qualsiasi lettera, eccetto una lettera maiuscola (sottrazione) |
Tabella D.5. Regex - Classi di carattere
Il costrutto |
...corrisponde al seguente |
[abc] |
a, b o c (classe semplice) |
[^abc] |
Qualsiasi carattere, eccetto a, b o c (negazione) |
[a-zA-Z] |
Da "a" a "z" o da "A" a "Z", inclusi (intervallo) |
Tabella D.6. Regex - Classi di carattere predefinite
Il costrutto |
...corrisponde al seguente |
. |
Qualsiasi carattere (eccetto i terminatori di riga) |
\d |
Una cifra: [0-9] |
\D |
Un carattere non numerico: [^0-9] |
\s |
Un carattere di spazio bianco: [ \t\n\x0B\f\r] |
\S |
Un carattere che non sia uno spazio bianco: [^\s] |
\w |
Un carattere parola: [a-zA-Z_0-9] |
\W |
Un carattere non-parola: [^\w] |
Tabella D.7. Regex - Rilevatori di limitazione
Il costrutto |
...corrisponde al seguente |
^ |
Inizio di una riga |
$ |
Fine di una riga |
\b |
Limite di una parola |
\B |
Limite di una non-parola |
Tabella D.8. Regex - Quantificatori di ripetizione
Il costrutto |
...corrisponde al seguente |
X
?
|
X, una sola volta oppure nessuna |
X
*
|
X, zero o più volte |
X
+
|
X, una o più volte |
Nota
i quantificatori di ripetizione rileveranno tutte le ripetizioni possibili. Per esempio,
a+
rileverà aaa in
aaabbb
Tabella D.9. Regex - Quantificatori riluttanti (non ripetitivi)
Il costrutto |
...corrisponde al seguente |
X?? |
X, una sola volta oppure nessuna |
X*? |
X, zero o più volte |
X+? |
X, una o più volte |
Nota
i quantificatori riluttanti rileveranno il minor numero di ripetizioni possibili. Per esempio,
a+?
rileverà la prima
a
in
aaabbb
Tabella D.10. Regex - Operatori logici
Il costrutto |
...corrisponde al seguente |
XY |
X seguito da Y |
X|Y |
X oppure Y |
(XY) |
XY come gruppo singolo |