Vai al contenuto
ToolMug

Tester di espressioni regolari (regex)

Scrivi un'espressione regolare, guarda ogni corrispondenza evidenziata mentre digiti, esamina i gruppi di cattura e prova le sostituzioni. Usa il motore regex di JavaScript, e un pattern che impiega troppo tempo viene interrotto invece di bloccare la pagina.

Funziona nel tuo browser: nulla di ciò che inserisci viene caricato

//g
Pattern comuni:
 
Contact: ada@example.com, grace.hopper@navy.mil
Servers: 10.0.0.1, 192.168.1.255
Date: 2026-09-26

Come si usa

  1. Scrivi il pattern tra le barre, oppure parti da uno dei pattern comuni.
  2. Attiva o disattiva i flag g, i, m, s, u, y per cambiare il modo in cui avviene la ricerca.
  3. Incolla il testo di prova. Le corrispondenze vengono evidenziate ed elencate con posizione e gruppi.
  4. Inserisci una sostituzione come $1 o $<name> per vedere in anteprima il risultato di un «cerca e sostituisci».

Opzioni spiegate

g (globale)
Trova tutte le corrispondenze invece di fermarsi alla prima. L'elenco delle corrispondenze le mostra sempre tutte; g influisce sulla sostituzione.
i (ignora maiuscole)
Le lettere corrispondono indipendentemente da maiuscole e minuscole.
m (multiriga)
^ e $ corrispondono all'inizio e alla fine di ogni riga invece che dell'intero testo.
s (dotAll)
Il punto corrisponde anche agli a capo.
u (unicode)
Tratta il pattern come code point Unicode, abilitando le sequenze di proprietà \p{…} e la gestione corretta delle emoji.
y (sticky)
Trova corrispondenze solo nella posizione esatta in cui è terminata la corrispondenza precedente.

Riferimento rapido

Sintassi Corrisponde a
\d \w \s Cifra, carattere di parola, spazio
[abc] [^abc] [a-z] Uno di, nessuno di, intervallo
* + ? {2,5} 0 o più, 1 o più, 0 o 1, da 2 a 5
*? +? Lazy, il minor numero possibile
^ $ \b Inizio, fine, confine di parola
(…) (?:…) (?<name>…) Cattura, gruppo non catturante, gruppo con nome
(?=…) (?!…) (?<=…) (?<!…) Lookahead, lookahead negativo, lookbehind, lookbehind negativo
\p{L} \p{Script=Han} Qualsiasi lettera, caratteri cinesi (con il flag u)

Esempio

Il pattern (?<user>[\w.+-]+)@(?<domain>[\w-]+(?:\.[\w-]+)+) applicato a ada@example.com dà user = ada e domain = example.com; la sostituzione $<domain>/$<user> produce example.com/ada.

Domande frequenti

Quale variante di regex usa?

JavaScript (ECMAScript 2024), così come è implementato dal tuo browser. Gran parte della sintassi è comune a PCRE, Python e Java, ma lookbehind, gruppi con nome ed escape Unicode differiscono leggermente tra i motori, quindi fai una prova nel linguaggio che userai.

Perché dice che il pattern è stato interrotto?

Alcuni pattern, come (a+)+$ su una lunga sequenza di a, costringono il motore a provare un numero esponenziale di combinazioni; è il cosiddetto backtracking catastrofico. Il tester lavora in un thread in background e si ferma dopo 1,5 secondi. Riscrivi i quantificatori annidati o usa classi di caratteri più specifiche.

Come uso i gruppi di cattura nella sostituzione?

Usa $1, $2… per i gruppi numerati, $<name> per i gruppi con nome, $& per l'intera corrispondenza e $$ per un simbolo del dollaro letterale.

Il mio testo viene inviato da qualche parte?

No. La ricerca avviene in un Web Worker nel tuo browser, quindi i log e i dati su cui fai le prove restano sul tuo dispositivo.

Privacy

Questo strumento funziona interamente nel tuo browser. File e testi vengono elaborati sul tuo dispositivo e non vengono mai caricati sui nostri server.

Strumenti correlati