Tester regex
Scrivi un’espressione regolare, incolla un testo e guarda ogni corrispondenza, ogni gruppo e il risultato della sostituzione mentre scrivi.
Sigillato su questo dispositivo
Funziona nel tuo browser. Non viene caricato nulla.
Sigillato
Promemoria
Seleziona un elemento per inserirlo nella tua espressione.
- una cifra da 0 a 9
- una lettera, una cifra o un trattino basso
- uno spazio, una tabulazione o un a capo
- qualsiasi carattere tranne l’a capo
- uno dei caratteri elencati
- qualsiasi carattere tranne quelli elencati
- inizio del testo (o della riga)
- fine del testo (o della riga)
- confine di una parola
- zero o più volte l’elemento precedente
- una o più volte l’elemento precedente
- l’elemento precedente è facoltativo
- da 2 a 4 volte l’elemento precedente
- un gruppo di cattura
- un gruppo di cattura con nome
- la parte a sinistra oppure quella a destra
- seguito da…, senza includerlo
- un punto letterale (fai l’escape di qualsiasi carattere speciale con \)
Corrispondenze nel testo
L’espressione ha impiegato più di un secondo ed è stata interrotta. I pattern con ripetizioni annidate, come (a+)+, possono richiedere un tempo esponenziale su alcuni testi. Prova a rendere più specifiche le parti ripetute.
Corrispondenze
- Corrispondenze
- 0
- Gruppi
- 0
Le corrispondenze e i loro gruppi verranno elencati qui.
Sostituisci
Usa $1, $2… per i gruppi numerati, $<nome> per i gruppi con nome e $& per l’intera corrispondenza.
Come funziona
-
Scrivi la tua espressione
Scrivi un pattern e scegli i flag. Il promemoria inserisce gli elementi più comuni se non ricordi la sintassi.
-
Incolla un testo
Le corrispondenze vengono evidenziate mentre scrivi, e ognuna è elencata con la sua posizione e i gruppi di cattura.
-
Prova una sostituzione
Inserisci una sostituzione con $1 o $<nome> per vedere in anteprima il risultato di un cerca e sostituisci, poi copialo.
Domande frequenti
Quale variante di regex usa?
Quella di JavaScript, esattamente come la esegue il tuo browser, compresi i gruppi con nome, il lookbehind e le classi di proprietà Unicode come \p{L}. Gran parte della sintassi è comune a Python, PHP e Java, ma alcune funzioni sono diverse.
Il mio testo viene inviato da qualche parte?
No. L’espressione viene eseguita nel tuo browser, in un worker separato in background. Il pattern e il testo non lasciano mai il tuo dispositivo.
Perché la mia espressione è stata interrotta?
Alcuni pattern, spesso con una ripetizione dentro un’altra ripetizione, possono provare miliardi di combinazioni prima di fallire. Si chiama backtracking catastrofico. Il tester interrompe ogni esecuzione che dura più di un secondo, così la pagina non si blocca mai.
Cosa cambia il flag g?
Senza g, viene trovata e sostituita solo la prima corrispondenza. Con g, vengono trovate e sostituite tutte le corrispondenze nel testo.
Come cerco letteralmente un punto, una parentesi o un punto interrogativo?
Mettici davanti una barra rovesciata: \. corrisponde a un punto, \( a una parentesi e \? a un punto interrogativo. Dentro le parentesi quadre, quasi tutti i caratteri sono già letterali.