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.
Evidenziato
| # | Corrispondenza | Posizione | Gruppi |
|---|
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.