La sintassi delle regex in una tabella, più 30 pattern pronti per email, URL, telefono, codice postale, password, date e altro. Ognuno viene eseguito dal vivo su esempi validi e non validi che puoi modificare.
Un'espressione regolare è un pattern per trovare corrispondenze nel testo. \d corrisponde a una cifra, \w a un carattere di parola, + significa uno o più, ? rende qualcosa facoltativo, e ^ e $ ancorano la corrispondenza all'inizio e alla fine. Qui sotto trovi la sintassi completa e 30 pattern testati, ognuno verificato dal vivo su stringhe che devono e non devono corrispondere.
Sei simboli che coprono la maggior parte dei pattern
Copia un pattern, poi prova il tuo testo nella casella accanto. Ogni pattern di questa pagina ha esempi che devono corrispondere ed esempi che non devono farlo, e la pagina li esegue nel tuo browser così puoi vedere ogni risultato.
Una pratica è ^[^\s@]+@[^\s@.]+(\.[^\s@.]+)+$: un po' di testo, una @ e un dominio con almeno un punto. Intercetta gli errori di battitura senza rifiutare indirizzi insoliti ma validi. Nessuna regex può dire se un indirizzo esiste davvero, quindi invia un'email di conferma.
Rimuovi spazi, trattini e parentesi, poi verifica il formato E.164: ^\+[1-9]\d{6,14}$. Per i numeri di Stati Uniti e Canada scritti con separatori, usa il pattern nordamericano di questa pagina. Per un controllo completo paese per paese, una libreria per numeri di telefono è più affidabile.
Fuori dalle parentesi quadre, ^ ancora la corrispondenza all'inizio del testo, o di ogni riga con il flag m. Dentro le parentesi quadre come primo carattere, come in [^0-9], significa nessuno di questi caratteri.
Le varianti differiscono nei dettagli: Python scrive i gruppi con nome come (?P<name>...), non supporta \p{L} nel suo modulo re integrato e consente solo lookbehind a lunghezza fissa. Consulta la tabella dei linguaggi in questa pagina per le differenze più comuni.
I quantificatori greedy come * e + prendono quanto più testo possibile e poi fanno marcia indietro. Aggiungere ? li rende lazy, così prendono il meno possibile. Su <b>x</b><b>y</b>, <.+> corrisponde a tutto, mentre <.+?> corrisponde solo a <b>.
Riferimento della sintassi regex (variante JavaScript)
Flag di JavaScript
Gli stessi concetti in JavaScript, Python e PHP
Qualcosa, una @, poi un dominio con almeno un punto. Nessuno spazio.
Nessuna regex verifica del tutto un indirizzo email. Invia un'email di conferma per sapere se è reale.
http o https, un host con almeno un punto, una porta facoltativa, poi qualsiasi percorso, query o frammento senza spazi.
In JavaScript, new URL(value) dentro un blocco try è il controllo più rigoroso.
Etichette di lettere, cifre e trattini interni, separate da punti, che terminano con un dominio di primo livello di sole lettere.
Lettere minuscole e cifre in gruppi uniti da singoli trattini.
Un segno più, un prefisso internazionale che non inizia con 0, e da 7 a 15 cifre in totale, senza spazi.
Togli prima spazi, trattini e parentesi. Per una vera validazione paese per paese, usa una libreria per i numeri di telefono.
+1 facoltativo, un prefisso di zona e una centrale di 3 cifre che non iniziano con 0 o 1, poi 4 cifre, con i separatori più comuni.
Cinque cifre, seguite facoltativamente da un trattino e altre quattro (ZIP+4).
Una o due lettere, una cifra, una lettera o cifra facoltativa, uno spazio facoltativo, poi una cifra e due lettere.
Controlla solo la forma. Accetta alcuni codici che non esistono.
Lettera, cifra, lettera, spazio facoltativo, cifra, lettera, cifra. Le lettere D, F, I, O, Q e U non sono mai usate, e W e Z non compaiono mai per prime.
Un # seguito da 3, 4, 6 o 8 cifre esadecimali (le forme da 4 e 8 includono la trasparenza).
Almeno 12 caratteri, con una lettera minuscola, una maiuscola, una cifra e un simbolo, verificati tramite lookahead.
La lunghezza conta più della varietà. Molti team ora richiedono solo una lunghezza minima e controllano le password contro gli elenchi di password violate.
Da 3 a 20 caratteri tra lettere e cifre; punti e underscore ammessi solo tra di essi, mai doppi.
Quattro numeri da 0 a 255 separati da punti, senza zeri iniziali.
Anno a quattro cifre, mese da 01 a 12, giorno da 01 a 31.
Accetta 2026-02-31. Analizza poi la data per rifiutare i giorni che non esistono.
Ore da 00 a 23, due punti, minuti da 00 a 59.
Ore da 1 a 12, minuti, poi am o pm con punti e spazio facoltativi.
Segno meno facoltativo, poi 0 o un numero senza zeri iniziali.
Un numero intero con un punto facoltativo e almeno una cifra dopo di esso.
Simbolo del dollaro facoltativo, cifre con gruppi separati correttamente da virgole (o senza), centesimi a due cifre facoltativi.
Un numero da 0 a 100 con decimali facoltativi, seguito da %.
Da 13 a 19 cifre, facoltativamente raggruppate con spazi o trattini.
Solo la forma. Usa il controllo di Luhn e il tuo fornitore di pagamenti per validare una carta.
MAJOR.MINOR.PATCH senza zeri iniziali, con parti facoltative -prerelease e +build.
Cifre esadecimali 8-4-4-4-12 con una cifra di versione da 1 a 8 e la variante standard.
Un tag di apertura, testo senza altri tag e il tag di chiusura corrispondente (il riferimento all'indietro \1 ripete il nome).
Non analizzare HTML completo con le regex. Usa DOMParser o un parser HTML.
Nient'altro che spazi, tabulazioni o a capo. Utile per rifiutare i campi vuoti dei form.
Un # seguito da lettere (di qualsiasi alfabeto), cifre o underscore. Richiede il flag u per \p{L}.
Le forme più comuni watch, embed, shorts e link breve. Il gruppo 1 cattura l'ID del video di 11 caratteri.
Un nome di file senza caratteri non ammessi nei percorsi, che termina con un'estensione di immagine comune.
Una @ e da 1 a 15 lettere, cifre o underscore, la regola usata da X (ex Twitter).
Trova una parola scritta due volte di seguito, come 'the the'. Non è ancorato, quindi cerca all'interno del testo.
(vuoto)
non corrisponde
Copia
Deve corrispondere
Non deve corrispondere
Prova un tuo valore
Corrisponde
Nessuna corrispondenza
Tester rapido
Pattern
Flag
Testo
Nessuna corrispondenza.
alla posizione {n}:
gruppi:
Sintassi
Flag
{n} pattern testati
Filtra
email, data, telefono…
Nessun pattern corrisponde a questo filtro.
JavaScript, Python e PHP
Rilasciato 2026-10, corretto 2026-11, previsto 2027-02.
Inizia gratis · Nessuna carta di credito richiesta