Schema delle espressioni regolari (Regex)
Corrispondenza caratteri
| [abc] | Corrisponde a qualsiasi carattere tra a, b o c |
| [^abc] | Non corrisponde a nessuno dei caratteri a, b o c. “^” è efficace solo come primo carattere |
| [a-g] | Corrisponde a qualsiasi carattere nell’intervallo a-g |
| [^a-g] | Non corrisponde a nessuno dei caratteri nell’intervallo a-g |
| [H-N] | Corrisponde a qualsiasi carattere nell’intervallo H-N |
| [0-9] | Corrisponde a qualsiasi cifra nell’intervallo 0-9 |
| [a-gH-N] | Corrisponde a qualsiasi carattere negli intervalli a-g o H-N |
| Caratteri jolly: | |
| . | [^\n\r], corrisponde a qualsiasi carattere eccetto l’andata a capo |
| \s | spazio, caratteri vuoti (andata a capo, tabulazione, spazio, ecc.) |
| \S | [^\s], qualsiasi carattere non vuoto |
| \d | cifra: [0-9] |
| \D | [^\d], qualsiasi carattere non numerico |
| \w | parola: [0-9A-Za-z_] |
| \W | [^\w], qualsiasi carattere non di parola |
Corrispondenza gruppi
| (a | b) |
| (…) | Gruppo di cattura |
| (?:…) | Gruppo senza cattura |
| (? |
Gruppo di cattura con nome (il nome può essere personalizzato) |
| (?(condition)true | false) |
group(0) viene utilizzato per ottenere il risultato dell’intera stringa di corrispondenza, mentre group(>0) può ottenere i sottogruppi di cattura dall’intero risultato.
Nota: i gruppi di cattura con nome sono supportati da Java 1.7+ (passando il nome come stringa al metodo group). JS e Python non lo supportano temporaneamente in tutti gli ambienti.
Intervalli di frequenza (Quantificatori)
| {3} | L’elemento precedente appare esattamente 3 volte, equivalente a {3,3} |
| {3,6} | L’elemento precedente appare da 3 a 6 volte |
| {3,} | L’elemento precedente appare almeno 3 volte |
| {0,6} | L’elemento precedente appare al massimo 6 volte |
| Caratteri jolly: | |
| * | {0,} Zero o più |
| + | {1,} Uno o più |
| ? | {0,1} Zero o uno |
| \w* | Modalità greedy |
| \w*? | Modalità non greedy (lazy) |
Ancore (Delimitatori)
| ^ | Inizio della stringa |
| $ | Fine della stringa |
| \b | boundary, confine della parola |
| \B | Non confine della parola |
| Asserzioni di posizione: | |
| (?=exp) | Lookahead positivo (il suffisso è exp) |
| (?<=exp) | Lookbehind positivo (il prefisso è exp) |
| (?!exp) | Lookahead negativo (non ha il suffisso exp) |
| (?<!exp) | Lookbehind negativo (non ha il prefisso exp) |
\b(\w+)\b è equivalente a (?<=\W?)(\w+)(?=\W?)