Come testare espressioni regolari online
Le espressioni regolari sono uno degli strumenti più potenti in programmazione — e uno dei più frustranti da padroneggiare. Un tester di regex permette di costruire ed eseguire il debug di pattern in modo interattivo invece di eseguire il tuo codice, verificare l'output e indovinare cosa non va.
Perché usare un tester di regex
Scrivere una regex nel tuo editor significa che vedi gli errori solo all'esecuzione. Un tester ti mostra:
- Evidenziazione dal vivo — vedi esattamente quali parti del tuo testo corrispondono mentre digiti il pattern
- Gruppi di cattura — vedi cosa cattura ogni gruppo senza scrivere debug
- Dettagli delle corrispondenze — posizioni, lunghezze e contenuto esatti di ogni corrispondenza
- Anteprima della sostituzione — vedi il risultato di un cerca-sostituisci prima di applicarlo
Come testare una regex online
- Inserisci il tuo pattern — digita la regex nel campo del pattern. Attiva i flag (g per globale, i per insensibile al maiuscolo/minuscolo, m per multilinea) secondo le tue esigenze.
- Incolla il tuo testo di test — inserisci il testo su cui testare. Le corrispondenze vengono evidenziate in tempo reale.
- Consulta i risultati — vedi tutte le corrispondenze con i gruppi di cattura elencati sotto. Usa il campo «Sostituisci con» per testare le sostituzioni.
Pattern regex comuni da conoscere
Indirizzo e-mail (di base):
[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}
URL:
https?://[^\s]+
Numero di telefono (US):
\(?\d{3}\)?[-.\s]?\d{3}[-.\s]?\d{4}
Data (AAAA-MM-GG):
\d{4}-(?:0[1-9]|1[0-2])-(?:0[1-9]|[12]\d|3[01])
Indirizzo IP (IPv4):
\b\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\b
Consigli per scrivere regex migliori
- Inizia semplice — ottieni prima un pattern di base che funziona, aggiungi la complessità dopo. Provare a scrivere la regex perfetta al primo colpo funziona raramente.
- Usa il flag globale (g) — senza di esso, il tester si ferma alla prima corrispondenza. Con
g, vedi tutte le corrispondenze nel testo. - Testa i casi limite — la tua regex può corrispondere ai casi ovvi e fallire su stringhe vuote, caratteri speciali o condizioni ai limiti. Aggiungili al tuo testo di test.
- Esegui l'escape dei caratteri speciali —
.,*,+,?,(,),[,],{,},\,^,$e|hanno un significato speciale in regex. Per farli corrispondere letteralmente, anteponi un backslash. - Usa gruppi non catturanti — se hai bisogno di parentesi per raggruppare senza catturare, usa
(?:...)invece di(...). Questo mantiene i tuoi risultati più puliti.
Domande frequenti
La mia regex funzionerà in altri linguaggi di programmazione?
La maggior parte della sintassi regex è condivisa tra JavaScript, Python, Java, PHP e altri. I pattern di base (classi di caratteri, quantificatori, ancore) funzionano ovunque. Alcune funzionalità avanzate come i lookbehind o i gruppi nominati differiscono a seconda dei linguaggi.
I miei dati di test vengono inviati a un server?
No. Tutta la corrispondenza avviene localmente nel tuo browser con il motore RegExp nativo di JavaScript. Niente viene inviato altrove.
Posso testare le sostituzioni?
Sì. Inserisci un pattern di sostituzione (usando $1, $2, ecc. per i gruppi di cattura) per vedere il risultato di un cerca-sostituisci in tempo reale.
Funziona offline?
Sì. Una volta caricata la pagina, lo strumento funziona interamente nel tuo browser senza connessione Internet.