Regex Cheat Sheet: espressioni regolari
Ultimo aggiornamento
Classi di caratteri
Trova un singolo carattere di un insieme.
| Token | Corrisponde a |
|---|---|
. | Qualsiasi carattere tranne il ritorno a capo |
\d | Qualsiasi cifra (0-9) |
\D | Qualsiasi carattere che non è una cifra |
\w | Carattere di parola (lettera, cifra, underscore) |
\W | Qualsiasi carattere non di parola |
\s | Qualsiasi spazio bianco (spazio, tab, ritorno a capo) |
[abc] | Uno qualsiasi tra a, b o c |
[a-z] | Qualsiasi lettera minuscola nell'intervallo |
[^abc] | Qualsiasi carattere tranne a, b o c |
Quantificatori
Indicano quante volte si ripete il token precedente.
| Token | Corrisponde a |
|---|---|
* | Zero o più volte |
+ | Una o più volte |
? | Zero o una volta (opzionale) |
{3} | Esattamente 3 volte |
{2,4} | Tra 2 e 4 volte |
{2,} | 2 o più volte |
*? | Lazy: il meno possibile |
+? | Lazy: una o più volte, minimo |
Ancore e confini
Corrispondono a posizioni invece che a caratteri.
| Token | Corrisponde a |
|---|---|
^ | Inizio della stringa (o della riga) |
$ | Fine della stringa (o della riga) |
\b | Un confine di parola |
\B | Un non confine di parola |
^abc$ | Una stringa che è esattamente abc |
\bword\b | word come parola intera |
Gruppi e cattura
Raggruppa i token e cattura il testo a cui corrispondono.
| Token | Corrisponde a |
|---|---|
(abc) | Gruppo di cattura, salvato come gruppo 1 |
(?:abc) | Gruppo non di cattura |
(?<year>\d{4}) | Gruppo di cattura con nome year |
(ab)+ | Ripete l'intero gruppo |
\1 | Riferimento all'indietro al gruppo 1 |
\k<year> | Riferimento all'indietro a un gruppo con nome |
Alternanza
Corrisponde a un pattern oppure a un altro.
| Token | Corrisponde a |
|---|---|
a|b | a oppure b |
cat|dog | La parola cat o dog |
(jpg|png|gif) | Una qualsiasi delle alternative, catturata |
gr(a|e)y | gray o grey |
^(yes|no)$ | Esattamente yes o esattamente no |
Lookaround
Verificano cosa viene prima o dopo senza consumarlo.
| Token | Corrisponde a |
|---|---|
(?=abc) | Lookahead: seguito da abc |
(?!abc) | Lookahead negativo: non seguito da abc |
(?<=abc) | Lookbehind: preceduto da abc |
(?<!abc) | Lookbehind negativo: non preceduto da abc |
\d+(?= dollars) | Cifre solo se seguite da dollars |
(?<=\$)\d+ | Cifre solo se precedute da $ |
Flag
Modificano il modo in cui si applica l'intero pattern.
| Flag | Cosa fa |
|---|---|
g | Globale: trova tutte le corrispondenze, non solo la prima |
i | Corrispondenza senza distinzione tra maiuscole e minuscole |
m | Multiriga: ^ e $ corrispondono ai fine riga |
s | Dotall: . corrisponde anche ai ritorni a capo |
u | Modalità Unicode |
x | Estesa: ignora gli spazi nel pattern |
Pattern comuni
Pattern pronti da adattare per le validazioni di tutti i giorni.
| Pattern | Corrisponde a |
|---|---|
^\d+$ | Un numero intero (solo cifre) |
^[\w.+-]+@[\w-]+\.[\w.-]+$ | Un indirizzo email semplice |
https?:\/\/[^\s]+ | Un URL http o https |
^\d{4}-\d{2}-\d{2}$ | Una data come 2026-05-27 |
^\d{3}-\d{3}-\d{4}$ | Un numero di telefono statunitense |
^#?[0-9a-fA-F]{6}$ | Un colore esadecimale di 6 cifre |
\s+ | Uno o più caratteri di spazio bianco |
Ogni token regex che ti serve, in una sola pagina. Questa regex cheat sheet è un riferimento rapido per costruire espressioni regolari: classi di caratteri, quantificatori, ancore, gruppi, alternanza, lookaround e flag.
La sintassi segue la variante comune PCRE / JavaScript usata dalla maggior parte dei linguaggi. Copia un pattern o provalo dal vivo nel regex tester per vedere esattamente cosa corrisponde, con il playground JS a un clic di distanza.
Domande frequenti sulla regex cheat sheet
Questa regex cheat sheet è gratuita?
Qual è la differenza tra quantificatori greedy e lazy?
* e + prendono più caratteri possibile, poi ne restituiscono alcuni se il resto del pattern ne ha bisogno. I quantificatori lazy, che si scrivono aggiungendo ? (come *? o +?), prendono meno caratteri possibile e si estendono solo quando è necessario. Per esempio, su <a><b> il pattern <.+> in modo greedy corrisponde all'intera stringa, mentre <.+?> corrisponde solo a <a>.Cos'è un gruppo di cattura nelle regex?
(\d{4}), il cui testo corrispondente viene salvato e numerato per poterlo riutilizzare o estrarre. Puoi richiamarlo più avanti con un riferimento all'indietro come \1, oppure dargli un nome con (?<year>\d{4}) per maggiore chiarezza. Se vuoi raggruppare token senza catturarli, usa un gruppo non di cattura (?:...).