Come testare le espressioni regolari passo dopo passo
Risposta rapida
Per testare una regex: apri il Regex Tester, inserisci il tuo pattern nel campo regex, inserisci il testo del test e le corrispondenze verranno evidenziate immediatamente. Lo strumento mostra le posizioni delle corrispondenze, i gruppi di acquisizione e supporta i flag (g, i, m, s, u). Tutta l'elaborazione avviene localmente nel tuo browser.
Introduzione
Un'espressione regolare (regex) è un modello utilizzato per abbinare, cercare o sostituire il testo. Regex è potente ma notoriamente difficile da leggere ed eseguire il debug: un singolo carattere fuori posto può cambiare completamente il significato. Un tester regex ti consente di sperimentare modelli rispetto a testo di esempio, vedere le corrispondenze evidenziate e ispezionare i gruppi di acquisizione. Questa guida ti mostra come testare le espressioni regolari nel tuo browser utilizzando uno strumento online gratuito.
Passo dopo passo
-
Apri lo strumento Regex Tester
Vai alla pagina dello strumento Regex Tester. Lo strumento dispone di campi per il modello regex, i flag e il testo di prova.
-
Inserisci il tuo modello regex
Digita il tuo modello regex (senza barre circostanti). Ad esempio, \d+ corrisponde a una o più cifre, [A-Z]\w+ corrisponde a una parola in maiuscolo. Lo strumento analizza il modello durante la digitazione.
-
Imposta le bandiere
Scegli i flag: g (globale: trova tutte le corrispondenze), i (senza distinzione tra maiuscole e minuscole), m (multilinea: ^ e $ corrispondono ai limiti della riga), s (dotall: . corrisponde alle nuove righe), u (unicode). La maggior parte dei test utilizza g e talvolta i.
-
Inserisci il testo di prova
Incolla o digita il testo su cui desideri eseguire il test. Lo strumento applica la regex ed evidenzia immediatamente tutte le corrispondenze nel testo.
-
Rivedi le partite e acquisisci i gruppi
Lo strumento mostra ogni corrispondenza con la sua posizione e il suo contenuto. Se il modello dispone di gruppi di acquisizione (parentesi), viene visualizzato il contenuto di ciascun gruppo. Utilizzalo per eseguire il debug del motivo per cui un modello corrisponde (o non corrisponde) come previsto.
Esempi
Abbina tutti i modelli simili a quelli email
Ingresso: Pattern: [a-z]+@[a-z]+\.[a-z]+, Flags: gi, Text: 'Contact alice@example.com or Bob@TEST.ORG'
Produzione: Corrispondenze: "alice@example.com", "Bob@TEST.ORG"
Estrai numeri con gruppi di acquisizione
Ingresso: Modello: (\d+)-(\d+), Flag: g, Testo: 'Ordine 123-456 e 789-012'
Produzione: Partita 1: '123-456' (gruppo 1: '123', gruppo 2: '456')
Partita 2: '789-012' (gruppo 1: '789', gruppo 2: '012')
Convalidare un formato data
Ingresso: Pattern: ^\d{4}-\d{2}-\d{2}$, Flags: none, Text: '2026-09-02'
Produzione: Corrispondenza: '2026-09-02' (corrispondenza di stringhe complete)
Problemi comuni
- Dimenticare l'escape dei caratteri speciali: caratteri come ., *, +, ?, ^, $, (, ), [, ], {, }, |, \ sono speciali. Utilizzare \ per sfuggirli letteralmente.
- Corrispondenza avida vs pigra —* e + sono avidi (abbina il più possibile). Aggiungere ? per la corrispondenza lazy (ad esempio, .*? corrisponde il meno possibile).
- Backtracking catastrofico (ReDoS): alcuni modelli con quantificatori annidati possono richiedere un tempo esponenziale su determinati input. Prova con input realistici e fai attenzione ai timeout.
- Ancoraggio: senza ^ e $, il modello corrisponde a qualsiasi punto della stringa. Utilizzare ^...$ per trovare la corrispondenza con l'intera stringa.
Suggerimenti
- Inizia con un modello semplice e aggiungi la complessità in modo incrementale: eseguire il debug di una regex complessa tutta in una volta è molto difficile.
- Utilizza gruppi di acquisizione denominati (?<nome>...) per la leggibilità: i nomi dei gruppi rendono l'intento più chiaro rispetto ai gruppi numerati.
- Testa sia gli input corrispondenti che quelli non corrispondenti per assicurarti che il tuo modello non corrisponda eccessivamente.
- Utilizza il nostro Regex Tester per test privati e istantanei: i tuoi pattern e il tuo testo non lasciano mai il tuo browser.