SuperDevTools

Tester regex: espressioni regolari online

Opzioni

Sintassi JavaScript, eseguita dal motore del tuo browser: la stessa espressione può comportarsi in modo un po' diverso in Python, PHP o Java.

Corrispondenze evidenziate



  
Vista

Spiegazione dell'espressione, elemento per elemento

ElementoSignificato
Espressioni comuni

Semplici punti di partenza, non convalide perfette: verificale sui tuoi dati.

Codice pronto da copiare



  

Tutto viene calcolato nel tuo browser: né l'espressione né il testo vengono inviati. L'ultimo stato resta salvato su questo dispositivo.

Un tester di espressioni regolari che spiega cosa trova

Un'espressione regolare, o regex, descrive la forma di un testo: «cinque cifre», «una parola ripetuta», «una data nel formato AAAA-MM-GG». Serve per cercare in un file di log, convalidare un campo di un modulo, estrarre dati da un'esportazione o fare un trova e sostituisci su un intero progetto.

Scrivi la regex in «Espressione», spunta le «Opzioni» e incolla il «Testo di prova». Le «Corrispondenze evidenziate» si aggiornano mentre scrivi, in due colori alternati e sottolineati, così due risultati attaccati restano distinguibili. La tabella riporta per ciascuna la posizione (contata da 0), il valore e i gruppi, numerati e con nome.

L'espressione segue la sintassi JavaScript ed è eseguita dal motore del tuo browser. Non viene inviato nulla: il calcolo avviene sul tuo dispositivo.

Come si usa

  1. Scrivi un'espressione come \d+ e spunta «g: tutte le corrispondenze».
  2. Con il testo a1b22c333, lo strumento indica «3 corrispondenze»: 1 in posizione 1, 22 in posizione 3 e 333 in posizione 6.
  3. Passa a «Sostituisci» per vedere il risultato di una sostituzione, oppure a «Dividi» per spezzare il testo a ogni corrispondenza.
  4. Leggi la «Spiegazione dell'espressione, elemento per elemento», poi copia il codice pronto o il link da condividere.

Promemoria della sintassi

ScritturaSignificato
\d \w \suna cifra; una lettera non accentata, una cifra o _; uno spazio bianco
[a-z], [^0-9]un carattere dell'elenco, un carattere fuori dall'elenco
* + ? {2,4}0 o più volte, 1 o più volte, facoltativo, da 2 a 4 volte
^ $ \binizio, fine, confine di parola
( ) (?: ) (?<nome> )gruppo di cattura, non catturante, con nome
(?= ) (?! ) (?<= ) (?<! )lookahead e lookbehind, positivi o negativi
g i m s u y dopzioni: globale, ignora maiuscole, multiriga, punto universale, Unicode, aderente, posizioni dei gruppi

Esempi esatti

L'espressione (?<anno>\d{4})-(?<mese>\d\d) applicata a 2026-03 dà il gruppo 1 «anno» = 2026 e il gruppo 2 «mese» = 03. In «Sostituisci con», $<mese>/$<anno> produce 03/2026; $1 inserisce il gruppo 1 e $& l'intera corrispondenza.

Il lookbehind (?<=€ ?)\d+ trova 15 in «€ 15 oppure 20 euro», perché solo il primo numero segue il simbolo dell'euro. Con l'opzione u, \p{L}+ prende «città» e «perché» per intero, mentre \w+ si ferma alle lettere accentate. Nella vista «Dividi», [,;]\s* spezza «mela, pera;kiwi» in tre parti.

La spiegazione scompone anche un numero di telefono italiano come ^(?:\+39)?(?:3\d{8,9}|0\d{5,10})$: inizio del testo, +39 facoltativo, poi un cellulare che inizia con 3 oppure un fisso che inizia con 0, fine del testo.

Trappole frequenti

  • Greedy o lazy. Su <b>grassetto</b>, <.+> prende tutto in un solo blocco, mentre <.+?> trova <b> e poi </b>.
  • Escape. Il punto significa «qualsiasi carattere»: per un punto vero scrivi \.. In una stringa nel codice sorgente la barra rovesciata va spesso raddoppiata; il codice generato lo fa per te.
  • Backtracking catastrofico. (a+)+$ su trenta «a» seguite da una «b» prova miliardi di suddivisioni. Lo strumento esegue ogni espressione a parte e la interrompe dopo un secondo con il messaggio «Espressione troppo onerosa»: la pagina resta reattiva.

I motori regex si somigliano molto, ma alcune costruzioni (gruppi con nome, lookbehind, \p{…}) cambiano o mancano a seconda del linguaggio: prova sempre anche nel tuo ambiente finale.

Consigli

Prova l'espressione su esempi diversi, compresi quelli che non devono corrispondere: una data come 2026-02-30, un CAP di quattro cifre, un indirizzo senza punto. Non cercare di convalidare un'e-mail alla perfezione con una regex: un'espressione semplice basta per individuare gli errori di battitura, e solo un messaggio di conferma dimostra che l'indirizzo esiste.

Domande frequenti

Perché la mia regex funziona qui e non nel mio programma?

Lo strumento usa il motore JavaScript del browser. In Python, PHP o Java alcuni dettagli cambiano: usa «Codice pronto da copiare», che adatta i gruppi con nome e l'escape, e leggi le note aggiunte come commento.

A cosa serve l'opzione g?

Senza, la ricerca si ferma alla prima corrispondenza e la sostituzione cambia solo quella. Con g, tutte vengono trovate e sostituite.

Come condivido un'espressione?

«Copia il link» mette espressione, opzioni e testo di prova (fino a 1.000 caratteri) dopo il segno # dell'indirizzo. Quella parte non viene mai inviata al server.

Che cosa vuol dire «(non usato)» per un gruppo?

Il gruppo esiste nell'espressione ma non ha partecipato a quella corrispondenza, per esempio il ramo non scelto di un'alternativa (a)|(b).