Cheat Sheet Regex
Riferimento interattivo per regex con gruppi di sintassi, pattern a copia rapida ed esempi dal vivo per casi d'uso comuni.
Classi di caratteri
.Corrisponde a qualsiasi singolo carattere eccetto a capo
a.c matches "abc", "a1c"
\dCorrisponde a qualsiasi cifra (0-9)
\d+ matches "123" in "abc123"
\DCorrisponde a qualsiasi carattere non numerico
\D+ matches "abc" in "abc123"
\wCorrisponde a qualsiasi carattere di parola (a-z, A-Z, 0-9, _)
\w+ matches "hello_1"
\WCorrisponde a qualsiasi carattere non di parola
\W matches "!" in "hello!"
\sCorrisponde a qualsiasi spazio bianco (spazio, tab, a capo)
\s matches " " in "a b"
\SCorrisponde a qualsiasi carattere non spazio bianco
\S+ matches "hello"
[abc]Corrisponde a qualsiasi carattere nell'insieme
[aeiou] matches "e" in "hello"
[^abc]Corrisponde a qualsiasi carattere non nell'insieme
[^aeiou] matches "h" in "hello"
[a-z]Corrisponde a qualsiasi carattere nell'intervallo
[a-f] matches "c" in "cat"
Ancore
^Corrisponde all'inizio della stringa o riga
^Hello matches "Hello world"
$Corrisponde alla fine della stringa o riga
world$ matches "Hello world"
\bCorrisponde a una posizione di confine di parola
\bcat\b matches "cat" not "catch"
\BCorrisponde a una posizione non di confine di parola
\Bcat matches "cat" in "scat"
Quantificatori
*Corrisponde a zero o più dell'elemento precedente
ab*c matches "ac", "abc", "abbc"
+Corrisponde a uno o più dell'elemento precedente
ab+c matches "abc", "abbc" not "ac"
?Corrisponde a zero o uno dell'elemento precedente
colou?r matches "color", "colour"
{n}Corrisponde esattamente a n dell'elemento precedente
\d{3} matches "123" not "12"
{n,}Corrisponde a n o più dell'elemento precedente
\d{2,} matches "12", "123", "1234"
{n,m}Corrisponde tra n e m dell'elemento precedente
\d{2,4} matches "12", "123", "1234"
*?Corrisponde al minor numero possibile di caratteri (lazy)
<.*?> matches "<b>" in "<b>text</b>"
Gruppi e lookaround
(...)Cattura il gruppo corrispondente per riferimenti a ritroso
(abc)+ matches "abcabc"
(?:...)Raggruppa senza catturare la corrispondenza
(?:abc)+ groups without capture
(?=...)Lookahead positivo: corrisponde se seguito dal pattern
\d(?=px) matches "5" in "5px"
(?!...)Lookahead negativo: corrisponde se NON seguito dal pattern
\d(?!px) matches "5" in "5em"
(?<=...)Lookbehind positivo: corrisponde se preceduto dal pattern
(?<=\$)\d+ matches "50" in "$50"
(?<!...)Lookbehind negativo: corrisponde se NON preceduto dal pattern
(?<!\$)\d+ matches "50" in "50"
\1Corrisponde allo stesso testo precedentemente catturato dal gruppo n
(\w)\1 matches "ll" in "hello"
|Corrisponde al pattern prima o dopo la pipe
cat|dog matches "cat" or "dog"
Flag
gTrova tutte le corrispondenze, non solo la prima
/a/g finds all "a" in "banana"
iCorrispondenza senza distinzione tra maiuscole e minuscole
/hello/i matches "Hello", "HELLO"
m^ e $ corrispondono all'inizio/fine di ogni riga
/^abc/m matches at each line start
sIl punto (.) corrisponde anche ai caratteri di nuova riga
/a.b/s matches "a\nb"
uAbilita la corrispondenza Unicode completa
/\u{1F600}/u matches emoji
Pattern comuni
[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}Pattern per indirizzi email
user@example.com
https?://[\w.-]+(?:\.[\w.-]+)+[\w.,@?^=%&:/~+#-]*Pattern per URL con protocollo
https://example.com/path
\b\d{1,3}(?:\.\d{1,3}){3}\bPattern per indirizzi IPv4
192.168.1.1
\+?[\d\s()-]{7,15}Pattern per numeri di telefono (internazionale)
+1 (555) 123-4567
\d{4}-\d{2}-\d{2}Formato data ISO (AAAA-MM-GG)
2026-03-23
#?[0-9a-fA-F]{3,8}Pattern per codice colore esadecimale
#ff6600, #f60
\d{4}[- ]?\d{4}[- ]?\d{4}[- ]?\d{4}Pattern per numero carta di credito (16 cifre)
4111 1111 1111 1111
[a-z0-9]+(?:-[a-z0-9]+)*Pattern per URL slug (minuscolo, con trattini)
my-blog-post-title
[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}Pattern per UUID v4
550e8400-e29b-41d4-a716-446655440000
<([a-zA-Z][a-zA-Z0-9]*)\b[^>]*>.*?</\1>Pattern per tag HTML con contenuto
<div class="x">text</div>
Per saperne di più
Un riferimento ricercabile che copre classi di caratteri, quantificatori, ancore, gruppi e lookaround. Trova la sintassi regex di cui hai bisogno in secondi.
Perché ogni sviluppatore ha bisogno di un riferimento rapido RegEx
Le espressioni regolari sono uno degli strumenti più potenti nel kit di uno sviluppatore, eppure restano notoriamente difficili da memorizzare. Che tu stia validando l'input dell'utente, analizzando file di log o eseguendo operazioni di ricerca e sostituzione nel codice, i pattern regex possono risparmiare ore di lavoro manuale. Il problema è che la sintassi è densa — un singolo quantificatore fuori posto o un escape dimenticato può rompere un intero pattern.