Test di espressioni regolari

Prova un'espressione regolare JavaScript sul tuo testo e vedi tutte le corrispondenze e i gruppi di cattura, nel tuo browser.

Gira interamente nel tuo browser. Non viene caricato, registrato o salvato niente.

Senza le barre che la racchiudono.
Una qualsiasi tra g i m s u y d v.

Evidenziato


    

Scrivi un'espressione, incolla il testo con cui ti aspetti che corrisponda, e vedi subito cosa cattura e cosa le sfugge, con ogni gruppo di cattura separato.

Come funziona

L'espressione viene compilata dal tuo browser ed eseguita sul testo mentre scrivi. Quello che vedi è esattamente quello che farà la stessa espressione in JavaScript, perché è lo stesso motore.

Con il flag g vengono elencate tutte le corrispondenze; senza, solo la prima. Il flag i ignora maiuscole e minuscole, m fa corrispondere ^ e $ ai confini di riga, s permette al punto di corrispondere a un a capo, u attiva la modalità Unicode e y ancora la ricerca all'ultimo indice.

I gruppi di cattura numerati compaiono in ordine; un gruppo scritto come (?<nome>...) viene mostrato con il suo nome.

Esempi

Caso Dati inseriti Risultato
Una data ISO, divisa nelle sue parti (?<year>\d{4})-(?<month>\d{2})-(?<day>\d{2}) anno, mese e giorno come gruppi con nome
Tutti gli hashtag di un post #\w+ una corrispondenza per hashtag, con il flag g

Domande frequenti

Di che variante di espressioni regolari si tratta?

Quella di JavaScript, così com'è implementata dal tuo browser. PCRE, usata da PHP e da grep -P, e RE2, usata da Go, differiscono sul lookbehind, sui quantificatori possessivi e sugli escape delle proprietà Unicode. Che un'espressione funzioni qui non garantisce che funzioni lì.

La pagina si è bloccata mentre scrivevo un'espressione.

Alcune espressioni fanno backtracking in modo catastrofico su certi testi: i quantificatori annidati come (a+)+ sono il caso classico. La ricerca sull'intero testo è limitata e si arrende con un avviso, ma una singola corrispondenza che scappa non la può interrompere niente nella pagina: JavaScript non ha modo di fermare un'espressione regolare una volta partita. Ricarica la scheda, e prendila come una scoperta e non come un incidente: la stessa espressione su un server si porterebbe via un processo.

Devo includere le barre?

No. Scrivi l'espressione da sola e metti i flag nel campo dei flag. Incollare /abc/gi come espressione rende le barre parte di quello che cerchi.

Il mio testo di prova viene inviato da qualche parte?

No, ed è anche escluso di proposito dal link condivisibile. Copiare il link condivide l'espressione e i flag, mai il testo su cui hai fatto la prova.

Da sapere

  • Le espressioni non vengono mai eseguite sul server. Un'espressione fornita da un visitatore che fa backtracking male lì sarebbe un attacco di negazione del servizio; in una scheda non costa nulla oltre alla scheda.

Fonti

Tutti gli strumenti di Codice