TextToolbox Strumenti di testo istantanei

Tester di Espressioni Regolari

Inserisci un pattern e un testo di prova — le corrispondenze si evidenziano in tempo reale. Pattern e flag si sincronizzano con l'URL per la condivisione; il tuo testo di prova non lo fa mai.

/ /

Risultato evidenziato

Corrispondenze (0)

    Prova espressioni regolari JavaScript su testo reale

    Questo strumento costruisce un RegExp nativo dal tuo pattern e dai flag, poi lo esegue sul tuo testo di prova nello stesso modo in cui lo farebbe il tuo codice JavaScript — con matchAll() quando il flag global è attivo, o un singolo exec() quando è disattivato. Ogni corrispondenza viene evidenziata sul posto, ed elencata qui sotto con il suo indice nella stringa e il testo catturato da eventuali gruppi tra parentesi.

    Esempio pratico

    Pattern: (\d{3})[ -]?(\d{6,7}), flag gu, contro "Chiamami al 347 1234567 o al 340-9876543 per informazioni."

    Due corrispondenze, perché il flag global è attivo — senza, lo strumento si fermerebbe dopo aver trovato "347 1234567" da solo. Nota che questo pattern riconosce la forma tipica di un numero italiano (prefisso di 3 cifre, poi 6–7 cifre, con o senza spazio o trattino) ma non valida i veri prefissi di rete assegnati.

    Domande frequenti

    Perché il . non trova le nuove righe nel mio testo di prova?

    Per impostazione predefinita, il . di JavaScript trova qualsiasi carattere tranne i terminatori di riga. Se il tuo testo di prova occupa più righe e hai bisogno che . le attraversi, attiva il flag s (dotAll) — con questo attivo, . trova anche le nuove righe. Senza, un pattern come a.b trova "axb" ma non "a\nb"; con il flag s, entrambi vengono trovati.

    Cosa fa ciascun flag?

    g (global) trova tutte le corrispondenze invece di fermarsi alla prima. i (ignoreCase) rende la ricerca insensibile a maiuscole/minuscole. m (multiline) fa sì che ^ e $ trovino l'inizio/fine di ogni riga, non solo dell'intera stringa. s (dotAll) fa sì che . trovi anche le nuove righe. u (unicode) tratta il pattern come una sequenza di code point Unicode, il che corregge la ricerca per caratteri fuori dal Basic Multilingual Plane (molte emoji) e abilita le Unicode property escape come \p{L}.

    È la sintassi regex specifica di JavaScript?

    Sì. Questo strumento costruisce un RegExp nativo di JavaScript, quindi segue esattamente le regole regex di JS — che non sono universali. Altri strumenti e linguaggi usano dialetti diversi: PCRE (usato da PHP, e un superset su cui molti strumenti si modellano) supporta sintassi che JS non ha (come i gruppi atomici e i quantificatori possessivi), e viceversa JS ha funzionalità che le versioni più vecchie di PCRE non hanno. Se scrivi un pattern per grep, il modulo re di Python o uno strumento basato su PCRE, testalo anche lì — non dare per scontato che una corrispondenza qui garantisca una corrispondenza altrove.

    Come funzionano i gruppi di cattura?

    Le parentesi in un pattern creano un gruppo di cattura — il testo trovato da quel gruppo viene estratto separatamente dalla corrispondenza completa. Per esempio, (\d{3})[ -]?(\d{6,7}) contro "347 1234567" trova l'intera stringa come gruppo 0 (la corrispondenza completa), con il gruppo 1 che cattura "347" e il gruppo 2 che cattura "1234567". Questo strumento elenca il testo catturato da ogni gruppo sotto ciascuna corrispondenza.

    Inserisci questo strumento nel tuo sito

    Uso libero, senza altra attribuzione oltre al link già presente nel widget. Gira interamente nel browser di chi visita, quindi non aggiunge carico al tuo server.

    Anteprima del widget