Skip to content
Tester di regex
Tools

Tester di regex

Novità

Testa le espressioni regolari con evidenziazione delle corrispondenze in tempo reale, gruppi di cattura e anteprima delle sostituzioni.

/ /
0 matches

Match highlight

 

Matches & groups

Replace

 
Regex cheatsheetquick reference
\d \D
digit / non-digit
\w \W
word char / non-word char
\s \S
whitespace / non-whitespace
.
any char (except newline without s flag)
^ $
start / end of string (line with m flag)
\b \B
word boundary / non-boundary
[abc] [^abc]
char set / negated set
[a-z0-9]
char range
a* a+ a?
0+ / 1+ / 0 or 1
a{3} a{2,5} a{2,}
exactly 3 / 2–5 / 2 or more
a*? a+?
lazy (non-greedy) quantifiers
(abc)
capture group → $1
(?<name>abc)
named group → $<name>
(?:abc)
non-capturing group
a|b
alternation (a or b)
\1 \k<name>
backreference
(?=abc) (?!abc)
lookahead / negative lookahead
(?<=abc) (?<!abc)
lookbehind / negative lookbehind
\n \t \r
newline / tab / carriage return
\. \* \\
escaped literal . * \

Runs entirely in your browser. Nothing is uploaded.

Testa le espressioni regolari dal vivo, in JavaScript reale

Questo tester regex gratuito evidenzia ogni corrispondenza nel momento in cui scrivi, usando il motore regex JavaScript nativo del tuo browser — ciò che corrisponde qui è esattamente ciò che corrisponderà nel tuo codice frontend o in Node.js. Attiva uno qualsiasi dei sei flag (g, i, m, s, u, y) e i pattern non validi mostrano il messaggio di errore reale del motore, invece di fallire in silenzio.

Sotto l'evidenziazione live trovi un elenco completo delle corrispondenze — ogni match con la sua posizione e tutti i gruppi di cattura, numerati e con nome — e un pannello di sostituzione che mostra in anteprima le sostituzioni con i riferimenti $1, $<nome> e $& mentre digiti. Quando il pattern funziona, clicca su Copia come JavaScript per ottenere il codice pronto da incollare.

Un'alternativa semplice a regex101.com e regexr.com

I tester più complessi come regex101.com supportano varianti PCRE, Python, Golang e .NET oltre a JavaScript — utile quando si confrontano i motori, ma spesso più del necessario quando si vuole solo eseguire il debug di un pattern JS. regexr.com mostra pattern della community e una guida di riferimento. Entrambi richiedono di navigare tra più schede per passare dal risultato di una corrispondenza all'anteprima della sostituzione.

Questo tester regex online risponde alle tre domande che contano di più nella quotidianità, in un'unica schermata: corrisponde, cosa ha catturato, e cosa produce la sostituzione? Nessuna selezione del dialetto, nessun account, nessun caricamento. A differenza di regexpal.com (che mostra solo l'evidenziazione) o debuggex.com (che si concentra sui diagrammi visivi), questo strumento aggiunge l'estrazione dei gruppi di cattura per ogni match e l'anteprima live della sostituzione con supporto ai backreference.

Pattern regex comuni, a portata di un clic

La libreria integrata inserisce pattern collaudati con testo di esempio realistico: indirizzo email, URL, indirizzo IPv4, data ISO, ora in formato 24 ore, colore hex, slug URL, numero di telefono internazionale, numero (intero/decimale) e tag HTML. Ognuno viene caricato con esempi validi e non validi, così puoi vedere esattamente dove si trovano i limiti del pattern.

Sono punti di partenza, non verità assolute — modificali direttamente e osserva come cambia l'evidenziazione. Gli esempi includono volutamente casi limite (come 999.999.1.1 per IPv4) così impari cosa ogni pattern rifiuta, non solo cosa accetta. È molto più veloce che copiare un pattern da Stack Overflow e sperare che gestisca i tuoi casi limite.

Gruppi di cattura, lookaround e tutti e sei i flag — supportati completamente

Le regex JavaScript moderne hanno funzionalità potenti: named group (?<anno>\d{4}), lookahead (?=…) e lookbehind (?<=…), escape di proprietà Unicode con il flag u, e matching sticky con y. Questo tester le supporta tutte, perché è il motore JavaScript. Il pannello delle corrispondenze scompone ogni gruppo per ogni match, rendendo verificabile la logica di estrazione con un solo sguardo.

La demo del flag m è quella preferita: con esso, ^ e $ si ancorano a ogni riga del testo di test — incolla un file di log e guarda il pattern ^ERRORE illuminare ogni riga problematica. Attiva s per far sì che . corrisponda ai caratteri di nuova riga all'interno di stringhe multiriga senza bisogno di workaround. Ogni risultato che vedi qui è lo stesso che produrrà il tuo codice.

Impara le regex più velocemente con il cheat sheet integrato

Il cheat sheet regex comprimibile copre i token che usi ogni giorno — classi di caratteri (\d \w \s), ancore (^ $ \b), quantificatori (* + ? {n,m} e le loro forme lazy), gruppi, alternanza, backreference e tutti e quattro i lookaround. Tienilo aperto mentre sperimenti; vedere l'effetto di un token evidenziato in tempo reale è il modo più veloce per far sì che le regex rimangano impresse.

Inizia semplice: fai corrispondere una parola letterale, aggiungi una classe di caratteri, poi un quantificatore, poi un gruppo. Cinque minuti di feedback live in un regex playground insegnano più di un'ora a leggere tabelle di sintassi. Funziona anche su mobile — il layout si adatta agli schermi più piccoli, così puoi fare il debug dei pattern su iPhone o Android senza installare alcuna app.

Frequently asked questions

Cos'è un tester regex?

Un tester regex è uno strumento interattivo in cui si digita un'espressione regolare e del testo di esempio, e vengono immediatamente evidenziate tutte le corrispondenze. Questo tester mostra i valori dei gruppi di cattura — numerati e con nome — supporta tutti e sei i flag JavaScript (g, i, m, s, u, y), fornisce un'anteprima live della sostituzione con backreference, una libreria di pattern comuni e un cheat sheet completo. Puoi eseguire il debug e verificare i pattern prima di inserirli nel codice, senza installare nulla né creare un account.

Come si confronta questo tester regex con regex101.com e regexr.com?

regex101.com e regexr.com sono ottimi ma possono risultare densi — più dialetti, un debugger completo, quiz, pattern della community. Questo tester si concentra specificamente sul motore JavaScript e risponde alle tre domande che contano di più nella quotidianità: corrisponde, cosa ha catturato, e cosa produce la sostituzione? Si carica istantaneamente, salva il tuo lavoro in locale, funziona interamente nel browser e condivide i pattern tramite un link con URL codificato — nessun account necessario in entrambi i casi. A differenza di regex101 che supporta i dialetti PCRE, Python e Golang, questo tester usa il motore JavaScript nativo del browser, quindi i risultati sono esatti.

È diverso da regexpal.com o debuggex.com?

Sì. Regexpal offre semplice evidenziazione ma nessuna analisi dei gruppi di cattura e nessuna anteprima della sostituzione. Debuggex aggiunge un diagramma visivo a binari ma manca della libreria di pattern comuni. Questo tester aggiunge l'estrazione dei gruppi di cattura per ogni match, un pannello di sostituzione live con supporto per backreference $1/$&lt;nome&gt;/$&, e una libreria di pattern integrata con testo di esempio realistico — il tutto usando il motore JavaScript autentico, così i risultati corrispondono esattamente a ciò che produce il tuo codice. Tutto funziona offline senza necessità di caricare file.

Cosa significa regex?

Regex è l'abbreviazione di 'regular expression' (espressione regolare) — una stringa di caratteri che definisce un pattern di ricerca. Le regex vengono usate per operazioni di matching, estrazione, validazione e trova-e-sostituisci su testo in praticamente ogni linguaggio di programmazione e editor di testo. Il termine risale agli anni '50 e al matematico Stephen Cole Kleene, ma l'uso pratico delle regex esplose con il linguaggio Perl negli anni '80.

Come si testa un'espressione regolare in JavaScript?

In JavaScript hai diverse opzioni: usa regex.test(str) per un controllo vero/falso, str.match(regex) per ottenere il testo corrispondente, str.matchAll(regex) per tutte le corrispondenze con i dettagli dei gruppi, oppure regex.exec(str) per iterare le corrispondenze una alla volta. Questo tester esegue tutto ciò in tempo reale mentre digiti — e il pulsante 'Copia come JavaScript' ti fornisce il codice esatto per il tuo pattern, pronto da incollare nel progetto.

Cos'è un gruppo di cattura nelle regex?

Le parentesi ( ) creano un gruppo di cattura che memorizza ciò che ha corrisposto al loro interno, recuperabile come $1, $2, ecc. I gruppi con nome scritti (?&lt;nome&gt;...) ti permettono di fare riferimento alle catture per nome invece che per numero. I gruppi di cattura ti consentono di estrarre parti di una corrispondenza — come il nome utente e il dominio da un indirizzo email — o di riutilizzarli nelle sostituzioni. Il pannello delle corrispondenze in questo tester elenca il valore di ogni gruppo per ogni match, rendendo facile verificare la logica di estrazione prima di usarla in produzione.

Cosa significano i flag regex g, i, m, s, u e y?

g (global) trova tutte le corrispondenze invece di fermarsi alla prima; i (ignoreCase) rende il matching insensibile alle maiuscole/minuscole; m (multiline) fa sì che ^ e $ corrispondano all'inizio e alla fine di ogni riga anziché dell'intera stringa; s (dotAll) fa sì che il punto corrisponda anche ai caratteri di nuova riga; u (Unicode) abilita il supporto completo Unicode e gli escape di proprietà come \p{Letter}; y (sticky) ancora la corrispondenza a lastIndex. Tutti e sei i flag sono attivabili in questo tester con un singolo clic.

Le regex sono sensibili alle maiuscole per impostazione predefinita?

Sì — /ciao/ corrisponde a 'ciao' ma non a 'Ciao'. Attiva il flag i (ignoreCase) per far corrispondere il pattern indipendentemente dalle maiuscole. Questa è una causa comune di bug nella logica di validazione — per esempio una regex per le email che non riesce a corrispondere a 'Utente@Esempio.IT' perché il flag i è stato dimenticato.

Qual è la differenza tra match, test ed exec in JavaScript?

test() restituisce un booleano — usalo quando hai solo bisogno di sapere se qualcosa corrisponde. match() chiamato sulla stringa restituisce un array di corrispondenze o null. exec() chiamato sulla regex restituisce una corrispondenza dettagliata alla volta e avanza nella stringa quando il flag g è impostato. matchAll() restituisce ogni corrispondenza con i dettagli completi dei gruppi in una sola chiamata — di solito è la scelta giusta per il lavoro di estrazione. Questo tester usa matchAll internamente e mostra tutti i risultati nel pannello delle corrispondenze.

Cos'è un lookahead o lookbehind nelle regex?

Un lookahead (?=...) verifica che un pattern segua la posizione corrente senza consumare caratteri; un lookahead negativo (?!...) verifica il contrario. Lookbehind (?&lt;=...) e (?&lt;!...) fanno lo stesso per ciò che precede. Sono utili per condizioni come 'corrispondi a un numero non seguito da un segno di percentuale' o 'corrispondi a una parola preceduta da un simbolo dell'euro'. Tutti e quattro i tipi di lookaround funzionano in questo tester perché il JavaScript moderno (V8) li supporta completamente.

Le regex sono uguali in tutti i linguaggi di programmazione?

No — i dialetti regex differiscono significativamente. JavaScript, PCRE (usato da PHP e Perl), il modulo re di Python, .NET, Java e Ruby supportano ognuno sintassi e funzionalità diverse. PCRE supporta quantificatori possessivi e gruppi atomici che JavaScript non ha; Python usa (?P&lt;nome&gt;...) per i gruppi con nome invece di (?&lt;nome&gt;...); .NET aggiunge i gruppi di bilanciamento. Questo tester usa il motore JavaScript/V8 autentico, quindi i risultati corrispondono esattamente a ciò che produrrà il tuo codice frontend o Node.js.

Come uso le regex per trovare e sostituire testo?

In JavaScript, str.replace(/pattern/g, 'sostituzione') scambia ogni corrispondenza. Usa $1 o $&lt;nome&gt; nella stringa di sostituzione per inserire i gruppi catturati, e $& per l'intera corrispondenza. Il pannello Sostituisci in questo tester mostra in anteprima il risultato in tempo reale mentre digiti, così puoi vedere la sostituzione prima di applicarla al codice. Puoi anche usare una funzione come argomento di sostituzione per trasformazioni più complesse — utile per cose come la capitalizzazione di ogni corrispondenza.

Cosa significano \d, \w e \s nelle regex?

\d corrisponde a qualsiasi cifra (0–9), \w corrisponde a un carattere di parola (lettera, cifra o underscore), e \s corrisponde a spazio bianco (spazio, tab, nuova riga). Le loro forme maiuscole \D, \W e \S corrispondono all'opposto — tutto ciò a cui \d, \w e \s non corrispondono. Il cheat sheet integrato elenca questi e tutti gli altri token comuni con esempi. Le classi di caratteri sono i mattoni fondamentali della maggior parte dei pattern del mondo reale.

Perché la mia regex corrisponde troppo (matching greedy)?

I quantificatori come * e + sono greedy per impostazione predefinita — prendono il più testo possibile prima di cederne. Aggiungi ? per renderli lazy (.*?), il che li fa prendere il meno possibile. Un'altra opzione è usare una classe di caratteri negata come [^"]* per fermarsi a un delimitatore specifico. Incolla il tuo testo in questo tester e vedrai la differenza tra greedy e lazy evidenziata fianco a fianco — è il modo più veloce per capire cosa sta succedendo.

Questo tester regex è gratuito e posso condividere un pattern?

Gratuito, senza pubblicità, senza iscrizione. 'Copia link di condivisione' codifica il tuo pattern, i flag e il testo di test nell'URL così un collega vede esattamente ciò che stai vedendo — nessun account richiesto da entrambe le parti. Il tuo lavoro viene anche salvato automaticamente in locale nel browser, quindi lo ritrovi quando torni. A differenza di regex101 che richiede un login per salvare e condividere i pattern in modo permanente, questo strumento ti fornisce istantaneamente un URL condivisibile.