Torna alla home Sviluppatore Tester Regex

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.

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.

☕ Buy me a coffee