๐Ÿ” Sviluppatori

Regex Tester

Testa le tue espressioni regolari in tempo reale con evidenziazione dei match e cattura dei gruppi.

Inserisci i dati

/ /

Come funziona

Come funziona

Scrivi la tua espressione regolare nel campo superiore e il testo da analizzare nel pannello di sinistra. I match vengono evidenziati in tempo reale nel pannello destro, aggiornandosi ad ogni modifica senza bisogno di premere alcun pulsante. Il tool utilizza il motore regex nativo di JavaScript (ECMAScript), lo stesso impiegato nei browser moderni e in Node.js. Supporta tutti i flag disponibili: g (globale, trova tutti i match), i (case-insensitive, ignora maiuscole e minuscole), m (multiline, ^ e $ corrispondono a inizio e fine di ogni riga), s (dotAll, il punto . include anche i caratteri di nuova riga), u (unicode, supporto completo per caratteri Unicode) e y (sticky, match solo dalla posizione corrente). Per testi molto lunghi, il matching avviene in modo efficiente grazie all'implementazione nativa del browser.

Gruppi di cattura

I gruppi di cattura racchiusi tra parentesi () permettono di estrarre porzioni specifiche del match. Ad esempio, nella regex (\d{2})/(\d{2})/(\d{4}) applicata a una data, il primo gruppo cattura il giorno, il secondo il mese e il terzo l'anno. I gruppi nominati con sintassi (?<nome>...) rendono il codice piu leggibile: ad esempio (?<giorno>\d{2})/(?<mese>\d{2})/(?<anno>\d{4}). Per raggruppare senza catturare si usano i gruppi non catturanti (?:...), utili quando serve applicare un quantificatore a un gruppo senza memorizzarlo. Le backreference come \1 o \k<nome> permettono di riferirsi a un gruppo gia catturato all'interno della stessa regex, ad esempio per trovare parole ripetute.

Esempi comuni

Email: [a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}
Indirizzo IP: \b\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\b
Data italiana: \d{2}/\d{2}/\d{4}
Codice fiscale: [A-Z]{6}\d{2}[A-Z]\d{2}[A-Z]\d{3}[A-Z]
Partita IVA: \b\d{11}\b
Telefono italiano: \+?39?\s?\d{2,4}\s?\d{6,8}
URL: https?://[^\s/$.?#].[^\s]*
Targa auto italiana: [A-Z]{2}\d{3}[A-Z]{2}

Sintassi regex essenziale

Quantificatori: * (zero o piu occorrenze), + (una o piu), ? (zero o una), {n} (esattamente n), {n,m} (da n a m), {n,} (almeno n). Aggiungendo ? dopo un quantificatore si ottiene la versione lazy (non golosa), che cattura il minor numero possibile di caratteri. Classi di caratteri: \d (cifra, equivale a [0-9]), \w (carattere alfanumerico o underscore), \s (spazio bianco inclusi tab e newline). Le versioni maiuscole \D, \W, \S rappresentano la negazione. Ancore: ^ indica l'inizio della stringa (o della riga con flag m), $ indica la fine, \b rappresenta il confine di una parola, utile per cercare parole intere evitando match parziali all'interno di parole piu lunghe.

Domande frequenti

Il tool supporta tutti i flag del motore regex JavaScript: g (globale, trova tutti i match nel testo), i (case-insensitive, ignora distinzione maiuscole/minuscole), m (multiline, ancore ^ e $ su ogni riga), s (dotAll, il punto matcha anche newline), u (unicode, supporto completo UTF-16) e y (sticky, match dalla posizione esatta).

No. Il regex tester funziona interamente nel browser utilizzando il motore JavaScript nativo. Nessun dato viene trasmesso a server esterni: sia l'espressione regolare sia il testo di input restano sul tuo dispositivo. Una volta caricata la pagina, il tool funziona anche senza connessione internet.

Si, il tool supporta tutte le funzionalita avanzate del motore regex JavaScript moderno. Puoi usare lookahead positivo (?=...), lookahead negativo (?!...), lookbehind positivo (?<=...) e lookbehind negativo (?<!...). Sono supportati anche i gruppi nominati (?<name>...) e le backreference con \k<name>.

Aggiungi il flag m nel campo dei flag. Con il flag multiline attivo, le ancore ^ e $ corrispondono rispettivamente all'inizio e alla fine di ogni singola riga, anziche solo all'inizio e alla fine dell'intero testo. Se vuoi che il punto . includa anche i caratteri di nuova riga, aggiungi anche il flag s (dotAll).

No, il tool utilizza esclusivamente il motore regex nativo di JavaScript (standard ECMAScript). La sintassi e molto simile a PCRE ma presenta alcune differenze, ad esempio l'assenza di ricorsione e di alcune classi POSIX come [:alpha:]. Se la tua regex funziona qui, funzionera in qualsiasi ambiente JavaScript, Node.js incluso.