QuickATools

Strumenti per sviluppatori · Free browser tool

Tester di espressioni regolari

Testa e fai debug delle espressioni regolari in tempo reale con evidenziazione sintassi live, catture di gruppo e toggle dei flag.

Regular expression

Pattern between slashes · flags toggle on the right.

g
g Global — find all matchesi Ignore casem Multiline — ^/$ per line
Valid pattern/\b(\w+)@(\w+)\.(\w+)\b/g3 matches

Test string

Paste the text you want to match against.

107 characters

Highlighted matches

Matching regions are marked in amber below.

Contact us at hello@example.com or support@quickatools.com. Also try BAD@EMAIL (no TLD) and alice@site.org.

Match details

3 results
#MatchIndex$1$2$3
1hello@example.com1431helloexamplecom
2support@quickatools.com3558supportquickatoolscom
3alice@site.org92106alicesiteorg

Frequently Asked Questions

Cosa fanno davvero i flag g, i e m?

Il flag g (global) trova ogni match nella stringa invece di fermarsi al primo. Il flag i (ignore case) rende il pattern case-insensitive, quindi /hello/i matcha "Hello" e "HELLO". Il flag m (multiline) cambia come si comportano ^ e $ — con m attivo, matchano inizio e fine di ogni riga invece che solo inizio e fine dell’intera stringa. Attivali live in questo strumento per vedere subito la differenza.

Qual è la differenza tra un match e un capture group?

Un match è l’intera sottostringa che ha soddisfatto il pattern. I capture group sono i pezzi di quel match che hai intenzionalmente "salvato" avvolgendo parti del pattern tra parentesi — ad esempio, /(\d{4})-(\d{2})-(\d{2})/ che matcha "2026-08-07" produce un match ("2026-08-07") e tre capture group ($1 = "2026", $2 = "08", $3 = "07"). I capture group sono ciò che usi nelle replacement o quando estrai campi strutturati dal testo.

In che modo il motore RegExp di JavaScript differisce da altri flavor di regex?

JavaScript usa un flavor basato su ECMAScript, che supporta lookaround, named group e Unicode property escape (con il flag u), ma non alcune feature di PCRE o .NET come pattern ricorsivi o quantificatori possessivi. I pattern che testi qui si comportano esattamente come in codice browser o Node.js — quindi se un pattern funziona in questo strumento, funzionerà allo stesso modo nella tua applicazione JavaScript.

È sicuro testare regex contro codice sorgente reale o dati sensibili qui?

Sì. Compilazione del pattern, matching, evidenziazione e generazione del report girano tutti in locale con il motore RegExp integrato del browser — nulla di ciò che incolli viene caricato, loggato o inviato a un server. Lo rende sicuro fare debug di pattern di validazione form di signup, regole di parsing log o regex di redazione contro testo campione reale (anche sensibile) senza esporlo a un servizio di terze parti.

Perché il feedback regex live batte il debug a indovina-e-ricarica

Le espressioni regolari sono dense per design — un escape mancante, un quantificatore greedy o il flag sbagliato possono matchare silenziosamente la cosa sbagliata (o nulla). Fare debug incollandole in codice di produzione e ricaricando è lento e rischioso. Un tester live che evidenzia ogni match e mostra ogni capture group mentre digiti collassa quel feedback loop a millisecondi, così vedi esattamente cosa stanno facendo ^, $ o un gruppo annidato prima che il pattern vada in produzione.

Quel feedback conta anche per regole security-sensitive. Validator di form di signup, pattern di redazione log e filtri contenuti spesso vengono testati contro dati campione reali — email, numeri di telefono o frammenti di input utente. Inviare quel testo a un playground regex di terze parti significa fidarsi del loro server con contenuti che forse non vuoi far uscire dalla macchina. Questo strumento non carica mai nulla: compilazione, matching, evidenziazione e report dei match girano tutti tramite il motore RegExp integrato del browser.

Poiché il motore è la stessa implementazione ECMAScript usata da browser e Node.js, un pattern che funziona qui si comporterà allo stesso modo nella tua applicazione JavaScript — incluso come i flag g, i e m cambiano il matching e come i capture group sono numerati. Usa il riquadro di evidenziazione ambra per individuare match indesiderati e la tabella match per verificare che $1, $2 e compagni estraggano i campi attesi.

Devi ripulire JSON campione prima di testare una regola di parse? Usa il JSON Formatter & Validator. Decodificare prima un token encoded? Prova Base64 Encode/Decode. Generare ID di fixture per una test suite? Lo UUID/GUID Generator gira in locale quanto questo strumento.