Cosa fa questo Regex Tester
Questo tester di espressioni regolari online esegue il test in tempo reale direttamente nel browser: scrivi il pattern, incolla il testo e vedi subito ogni match evidenziato nel tuo input. Puoi espandere ogni cattura per leggere il valore esatto e la sua posizione — inclusi i gruppi numerati e quelli con nome (?<nome>). Cinque flag JavaScript (g, i, m, s, u) si attivano con un solo clic, così puoi verificare all'istante come cambia il comportamento del pattern. Un sistema di protezione integrato blocca i loop infiniti causati dai match a larghezza zero, come quelli prodotti da ^ o dai lookaround, così la pagina non si blocca mai. 100% lato client — i tuoi dati non lasciano mai il browser. Nessun upload, nessun tracciamento, nessun log sul server. Per chi vuole approfondire la segmentazione del testo con API native, il MDN — Intl.Segmenter offre un ottimo punto di partenza complementare a questo strumento.
Funzionalità
- Evidenziazione live dei match. Ogni occorrenza trovata viene colorata direttamente nel testo di input, in tempo reale mentre digiti il pattern. Con il flag
gattivo vedi tutti i match contemporaneamente. - Ispezione dei gruppi di cattura. Tutti i gruppi, sia numerati che nominati (
?<nome>), appaiono elencati con il loro valore e la posizione nel testo. Ideale per debug di parser e validatori complessi. - Toggle dei flag JavaScript. I flag g, i, m, s, u e y sono selezionabili con un clic. Cambia combinazione e osserva immediatamente l'effetto sul numero e il tipo di match — senza riscrivere nulla.
- Segnalazione degli errori di sintassi. Se il pattern non è valido, l'errore viene mostrato subito con un messaggio chiaro. Niente stack trace criptici: sai esattamente cosa correggere.
- Protezione dai loop infiniti. Un guard integrato intercetta i match a larghezza zero che potrebbero bloccare la pagina. Puoi usare liberamente lookahead,
^e$senza rischiare che la scheda del browser si congeli. - Nessun dato inviato al server. Tutto gira nel motore JavaScript del tuo browser. Pattern e testo non vengono mai trasmessi a un server esterno — utile anche quando lavori con log o dati sensibili aziendali.
Come usare il Regex Tester
Tre passi e sei operativo: incolla il pattern, incolla il testo, premi Testa (o aspetta il live update).
- Inserisci il pattern regex. Scrivi la tua espressione regolare nel campo pattern, senza i delimitatori
/. Per esempio:(?P<anno>\d{4})-(?P<mese>\d{2})-(?P<giorno>\d{2})per catturare una data ISO 8601. - Incolla il testo di prova. Nel campo di testo sotto inserisci la stringa su cui vuoi eseguire il test — può essere una riga di log, un CSV, un URL o qualsiasi altro testo.
- Attiva i flag necessari. Clicca sui badge dei flag per attivarli. Se vuoi trovare tutti i match usa
g; per ignorare maiuscole/minuscole aggiungii. I risultati si aggiornano in tempo reale. - Leggi i gruppi di cattura. Nell'area risultati trovi ogni match espandibile: valore completo, indice di inizio e fine, e il valore di ogni gruppo nominato o numerato.
- Copia il pattern validato. Quando il pattern funziona come previsto, usa il pulsante Copia per incollarlo direttamente nel tuo codice JavaScript o in un altro tool come il [text diff](/it/text-diff/) per confrontare l'output.
Casi d'uso comuni
- Validare email e URL prima del deploy. Testa il pattern su decine di indirizzi reali prima di spedirlo in produzione. Individua i casi limite — indirizzi con sotto-dominio, tag
+, domini internazionali — senza toccare il codice. - Estrarre dati da log applicativi. Incolla una riga di log del tuo server e costruisci il pattern passo passo. Con il flag
gvedi tutti i match in una volta sola: timestamp, livello, messaggio, tutto separato nei gruppi di cattura. - Debug di gruppi nominati per parser. Prima di integrare una regex complessa in un parser Python o Java, verifica qui che ogni
?<nome>catturi esattamente il campo atteso. Risparmia ore di trial-and-error nel tuo IDE. - Confrontare combinazioni di flag. Aggiungere
icambia il numero di match? Il flagmaltera il comportamento di^nel tuo testo multiriga? Clicca e vedi subito la risposta — senza aprire la console del browser. - Pulire testo strutturato prima di altri strumenti. Individua il pattern che isola i duplicati o le righe da eliminare, poi porta il risultato nel [remove duplicates](/it/remove-duplicates/) o nel [case converter](/it/case-converter/) per la fase successiva della pipeline.
Domande frequenti
I miei pattern e il testo di test vengono inviati a un server?
No. Questo strumento è 100% lato client: tutto gira nel motore JavaScript del tuo browser. Nessun dato — né il pattern né il testo di prova — viene mai trasmesso a un server esterno. Puoi usarlo tranquillamente anche con log contenenti dati sensibili o proprietari.
Questo tester usa le regex JavaScript o PCRE?
Usa il motore regex di JavaScript (ECMAScript). Funziona perfettamente per chi sviluppa in JS o TypeScript, ma alcune funzionalità PCRE come i pattern ricorsivi o i verbi di controllo del backtracking non sono disponibili. Se stai scrivendo per Python o Java, usa questo tool per la logica di base e poi verifica i dettagli specifici del motore target nel tuo ambiente.
Perché il mio pattern con `.*` cattura troppo?
I quantificatori greedy come .* o .+ consumano il maggior numero possibile di caratteri prima di cedere. Prova la versione non-greedy .*? o .+? per fermarti al primo match utile. Nell'area risultati puoi vedere esattamente quanti caratteri ha catturato ogni gruppo.
Cosa succede se scrivo una regex che produce match a larghezza zero?
Pattern come ^, $ o i lookaround possono generare match di lunghezza zero che in certi motori causano loop infiniti. Questo tester ha un guard integrato che intercetta questi casi e termina l'esecuzione in modo sicuro, mostrando un avviso invece di bloccare la pagina. Il riferimento tecnico per capire il comportamento di questi pattern è la MDN — Intl.Segmenter e la documentazione JavaScript sulle espressioni regolari.
Come si usano i gruppi con nome in JavaScript?
La sintassi è (?<nomeGruppo>pattern). Dopo un match, il valore è accessibile tramite match.groups.nomeGruppo. Questo tester elenca automaticamente tutti i gruppi nominati con il loro valore e indice, così puoi costruire la struttura del tuo oggetto result prima ancora di scrivere il codice.
Posso testare regex per Java o Python qui?
In gran parte sì: la sintassi di base — classi di caratteri, quantificatori, gruppi di cattura, lookahead — è condivisa tra JavaScript, Java e Python. Le differenze riguardano funzionalità avanzate come i verbi PCRE o certi flag specifici del motore. Usa questo online regex tool per la logica principale, poi adatta i dettagli nel tuo ambiente di sviluppo specifico.