Tester Regex
Testa espressioni regolari con evidenziazione delle corrispondenze in tempo reale, spiegazioni dei token e generazione di stringhe di esempio
- La spiegazione del pattern apparirà qui.
Come utilizzare
Inserire il pattern
Digita il tuo regex e seleziona i flag pertinenti.
Testare il testo in tempo reale
Visualizza le corrispondenze evidenziate e i gruppi di cattura in tempo reale.
Interpretare e generare
Rivedi la spiegazione del pattern e genera stringhe di esempio.
FAQ
Sì. Nel tester puoi attivare o disattivare i flag global, ignore case, multiline, dotAll, unicode e sticky.
Il parser legge il pattern token per token e genera spiegazioni in linguaggio semplice per ancore, classi, gruppi e quantificatori.
Sì. Il generatore di esempio crea una stringa rappresentativa usando il pattern corrente, così puoi verificare al volo che il comportamento corrisponda alle tue intenzioni.
Un quantificatore greedy come .* consuma quanto più possibile e poi fa backtracking; il suo gemello lazy .*? si ferma alla prima corrispondenza. Sul testo say "hi" bye, il pattern "..*" cattura l'intera riga, mentre ".*?" cattura solo hi. Greedy è il comportamento predefinito - aggiungi ? per rendere lazy qualsiasi quantificatore.
Le parentesi catturano: (\d{4})-(\d{2}) applicato a 2026-09-19 dà gruppo 1 = 2026 e gruppo 2 = 09, e in un pattern di sostituzione $1 riusa il testo catturato. I gruppi con nome come (?<year>\d{4}) rendono i pattern complessi più leggibili. JavaScript numera i gruppi in base alla parentesi di apertura, partendo da 1 - il gruppo 0 è sempre l'intera corrispondenza.
Aggiungi u ogni volta che il pattern o il testo contengono caratteri non ASCII: fa sì che \w e \d seguano le regole Unicode, abilita le property escape come \p{L} e \p{Script=Arabic} e tratta le emoji come caratteri singoli. Senza u, una coppia di surrogati UTF-16 può essere spezzata a metà da una corrispondenza con il punto.
Per impostazione predefinita ^ e $ ancorano l'intera stringa e . salta le interruzioni di riga. Il flag m (multiline) fa invece corrispondere ^ e $ a ogni confine di riga, e il flag s (dotAll) consente a . di attraversare i caratteri di nuova riga. Una ricetta comune per il parsing dei log è usare entrambi i flag insieme: /error.*timeout/gms.
Usa il motore JavaScript nel tuo browser, quindi segue la semantica regex di ECMAScript (ECMA-262) - lo stesso motore che String.prototype.match usa nel JS di produzione. Tieni conto delle differenze rispetto a PCRE o Python: JavaScript non ha \K né la ricorsione, e il lookbehind è arrivato solo con ES2018. I pattern scritti per Perl o PCRE potrebbero richiedere piccole modifiche.
Strumenti Correlati
Riferimenti autorevoli
Fonti primarie alla base di questo strumento - standard e specifiche ufficiali, non riassunti di seconda mano.
MDN Web Docs - Regular Expressions
Riferimento Mozilla per RegExp in JavaScript: sintassi, flag e gruppi di cattura con nome.
ECMA-262 - ECMAScript Language Specification
Il capitolo sulle espressioni regolari della specifica ufficiale del linguaggio ECMAScript.
Regular expression - Wikipedia
Storia e concetti delle espressioni regolari: dall'eredità di Perl ai motori moderni.