Regex cheat sheet

Regex cheat sheet: sintassi + 30 pattern testati | We.Inc

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.

Regex cheat sheet

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.

Domande frequenti

Qual è la regex migliore per gli indirizzi email?

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.

Come trovo un numero di telefono con una regex?

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.

Cosa significa ^ in una regex?

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.

Perché la mia regex funziona in JavaScript ma non in Python?

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.

Qual è la differenza tra greedy e lazy?

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>.

Leggere un pattern da sinistra a destra

Errori comuni

Riferimento della sintassi regex (variante JavaScript)

Flag di JavaScript

Gli stessi concetti in JavaScript, Python e PHP

Indirizzo email (pratico)

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.

Indirizzo web (http o https)

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.

Nome di dominio

Etichette di lettere, cifre e trattini interni, separate da punti, che terminano con un dominio di primo livello di sole lettere.

Slug di URL

Lettere minuscole e cifre in gruppi uniti da singoli trattini.

Numero di telefono internazionale (E.164)

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.

Numero di telefono di Stati Uniti e Canada

+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.

ZIP code statunitense

Cinque cifre, seguite facoltativamente da un trattino e altre quattro (ZIP+4).

Codice postale del Regno Unito

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.

Codice postale canadese

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.

Colore HEX

Un # seguito da 3, 4, 6 o 8 cifre esadecimali (le forme da 4 e 8 includono la trasparenza).

Password con caratteri misti

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.

Nome utente

Da 3 a 20 caratteri tra lettere e cifre; punti e underscore ammessi solo tra di essi, mai doppi.

Indirizzo IPv4

Quattro numeri da 0 a 255 separati da punti, senza zeri iniziali.

Data ISO 8601 (YYYY-MM-DD)

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.

Ora nel formato 24 ore (HH:MM)

Ore da 00 a 23, due punti, minuti da 00 a 59.

Ora nel formato 12 ore con am o pm

Ore da 1 a 12, minuti, poi am o pm con punti e spazio facoltativi.

Numero intero

Segno meno facoltativo, poi 0 o un numero senza zeri iniziali.

Numero decimale

Un numero intero con un punto facoltativo e almeno una cifra dopo di esso.

Prezzo con separatori delle migliaia

Simbolo del dollaro facoltativo, cifre con gruppi separati correttamente da virgole (o senza), centesimi a due cifre facoltativi.

Percentuale da 0 a 100

Un numero da 0 a 100 con decimali facoltativi, seguito da %.

Forma del numero di carta (da 13 a 19 cifre)

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.

Versione semantica

MAJOR.MINOR.PATCH senza zeri iniziali, con parti facoltative -prerelease e +build.

UUID

Cifre esadecimali 8-4-4-4-12 con una cifra di versione da 1 a 8 e la variante standard.

Tag HTML semplice

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.

Vuoto o solo spazi bianchi

Nient'altro che spazi, tabulazioni o a capo. Utile per rifiutare i campi vuoti dei form.

Hashtag

Un # seguito da lettere (di qualsiasi alfabeto), cifre o underscore. Richiede il flag u per \p{L}.

Indirizzo di un video YouTube

Le forme più comuni watch, embed, shorts e link breve. Il gruppo 1 cattura l'ID del video di 11 caratteri.

Nome di file immagine

Un nome di file senza caratteri non ammessi nei percorsi, che termina con un'estensione di immagine comune.

Handle social (@nome)

Una @ e da 1 a 15 lettere, cifre o underscore, la regola usata da X (ex Twitter).

Parola ripetuta

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

Correlati: Guide

Prodotto

Per chi è

Funzionalità

Risorse

Azienda

Mappa del sito