Tester Regex
Testa espressioni regolari
Come usare Tester Regex
Testa espressioni regolari Strumento gratuito online, senza registrazione, senza pubblicità invasiva. Usalo ora.
A cosa servono le espressioni regolari?
Le espressioni regolari (regex) sono pattern che corrispondono al testo. Padroneggiarle moltiplica significativamente la produttività di uno sviluppatore — operazioni che richiederebbero 50 righe di manipolazione di stringhe possono essere risolte con una singola espressione regolare ben costruita.
- Validazione dell'input: Validate indirizzi email, numeri di telefono italiani (con o senza prefisso), codici postali a 5 cifre, codici fiscali, numeri di Partita IVA e password rispetto alle regole di formato prima di elaborarli o memorizzarli.
- Estrazione dati: Estraete pattern specifici dal testo — tutti gli URL in un documento, tutte le date in un file di log, tutti gli importi in euro (formato 1.234,56 €) in un report finanziario.
- Cerca e sostituisci avanzato: Eseguite trasformazioni di testo complesse — riformattate le date dal formato DD/MM/YYYY all'ISO YYYY-MM-DD, anonimizzate i dati personali, normalizzate gli spazi bianchi.
- Analisi dei log: Analizzate i log di Apache, Nginx o dell'applicazione — estraete indirizzi IP, codici di errore HTTP e timestamp con la corrispondenza dei pattern per il monitoraggio e gli alert.
- Refactoring del codice: Trovate tutte le chiamate di funzione che corrispondono a una firma specifica, identificate l'uso di API obsolete in una codebase o trovate tutti i commenti TODO/FIXME nel progetto.
Pattern comuni per l'italiano: Codice postale: \d{5}. Telefono IT: (?:\+39|0039|39)?[0-9\s\-\.]{6,15}. Codice fiscale: [A-Z]{6}[0-9]{2}[A-Z][0-9]{2}[A-Z][0-9]{3}[A-Z]. Data IT: \d{2}/\d{2}/\d{4}. Email: [a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}.
Frequently Asked Questions
Cosa significano i flag g, i, m e s nella regex?
g (globale): trova tutte le corrispondenze, non solo la prima. i (case-insensitive): corrisponde indipendentemente dalla capitalizzazione. m (multilinea): ^ e $ corrispondono all'inizio/fine di ogni riga. s (dotAll): il punto (.) corrisponde anche ai ritorni a capo. I flag si combinano: /pattern/gim trova tutte le occorrenze senza distinzione di maiuscole su più righe.
Qual è la differenza tra corrispondenza greedy e lazy?
I quantificatori greedy (+, *, {n,}) corrispondono il più possibile. <.+> corrisponde all'intera stringa '<b>grassetto</b>' come una singola corrispondenza. I quantificatori lazy (+?, *?, {n,}?) corrispondono il meno possibile. <.+?> corrisponde separatamente a '<b>' e '</b>'. Usate la corrispondenza lazy per estrarre singoli tag HTML.
Cos'è un gruppo di cattura vs un gruppo non catturante?
(pattern) è un gruppo di cattura — il testo corrispondente viene memorizzato e referenziabile come $1, $2 nelle sostituzioni. (?:pattern) è un gruppo non catturante — raggruppa il pattern per i quantificatori o l'alternanza senza memorizzare la corrispondenza. Usate i gruppi non catturanti quando non avete bisogno del valore catturato.
Cos'è il lookahead e il lookbehind?
Lookahead (?=pattern) verifica che ciò che segue corrisponda al pattern, senza consumare caratteri. Lookbehind (?<=pattern) verifica ciò che precede. Versioni negative: (?!pattern) e (?<!pattern). Esempio: \d+(?=\s€) corrisponde ai numeri seguiti da ' €' senza includere '€' nella corrispondenza.
Perché la mia regex funziona in JavaScript ma non in Python?
Le varianti regex differiscono leggermente tra i linguaggi. Python usa \A e \Z per l'inizio/fine della stringa (vs ^ e $). Le stringhe raw Python (r'pattern') evitano il doppio escape dei backslash. JavaScript non supporta il lookbehind nei motori più vecchi. PCRE (PHP, Perl) ha funzionalità non disponibili in tutti i motori. Testate sempre la regex nel linguaggio di destinazione.
Regex vs metodi stringa vs parser vs IA
La regex è ideale per la corrispondenza e l'estrazione basate su pattern — potente ma criptica per i non abituati. I metodi stringa (split, indexOf, slice) sono più chiari per le operazioni semplici e dovrebbero essere preferiti quando la regex sarebbe sproporzionata. I parser dedicati (HTML, JSON, CSV) sono sempre preferibili alla regex per i formati strutturati — non analizzate mai HTML con la regex. L'analisi assistita da IA gestisce il linguaggio naturale ambiguo dove i pattern sono imprevedibili. Usate lo strumento più semplice che risolva il problema in modo sicuro.