Vai al contenuto

Tester Regex — JavaScript Tester di espressioni regolari online — Numio

Prova le espressioni regolari JavaScript online: evidenziazione delle partite in tempo reale, acquisizione di gruppi con nome, tutti i flag e un'anteprima di sostituzione. I modelli lenti si interrompono dopo 1 secondo.

Funziona nel browser · Senza registrazione

//g
Flag
Riferimento rapido
.
Qualsiasi carattere tranne un’interruzione di riga (usa il flag s per includerla)
\d \w \s
Cifra, carattere di parola [A-Za-z0-9_], spazio bianco
\D \W \S
Non una cifra, non un carattere di parola, non uno spazio bianco
[abc] [^abc]
Uno tra a, b, c / qualsiasi carattere tranne a, b, c
[a-z]
Qualsiasi carattere da a a z
^ $
Inizio / fine dell’input (di ogni riga con il flag m)
\b
Confine di parola
* + ?
0 o più, 1 o più, 0 oppure 1
{2,5}
Da 2 a 5 volte ({3} esattamente, {2,} almeno)
*? +?
Versioni non greedy: trovano il minor numero possibile di caratteri
(abc)
Gruppo di cattura
(?<name>abc)
Gruppo di cattura con nome
(?:abc)
Gruppo senza cattura
\1 \k<name>
Ripete la corrispondenza del gruppo 1 / del gruppo con nome
a|b
a oppure b
(?=a) (?!a)
Seguito da a / non seguito da a
(?<=a) (?<!a)
Preceduto da a / non preceduto da a
\p{L}
Qualsiasi lettera in qualsiasi lingua (richiede il flag u o v)

Usa il motore di espressioni regolari JavaScript (ECMAScript) del browser, quindi i risultati corrispondono al codice JavaScript. Altri motori, come PCRE, Python o Java, differiscono in alcuni aspetti della sintassi. La ricerca viene eseguita in un worker in background e si interrompe dopo 1 secondo per proteggere la pagina dal backtracking catastrofico.

Come si usa

  1. Inserisci un'espressione regolare e seleziona i flag necessari (g trova tutte le corrispondenze).
  2. Incolla il testo da testare; le corrispondenze vengono evidenziate ed elencate con il relativo indice e gruppi di acquisizione.
  3. Attiva Sostituisci per visualizzare in anteprima il risultato di String.replace con riferimenti $1 o $<name>.

Esempio

Espressione: (?<user>\w+)@(\w+)\.com  flag: g
Testo: alice@example.com, bob@test.com
Corrispondenze: alice@example.com (user = alice, 2 = example), bob@test.com
Sostituisci con $<user> at $2 → alice at example, bob at test

Dettagli e limiti

I pattern vengono eseguiti con il motore JavaScript RegExp integrato nel tuo browser, quindi lookbehind, gruppi denominati, escape delle proprietà Unicode e il flag d si comportano esattamente come nel tuo codice. Il flag v appare solo se il tuo browser lo supporta.

La corrispondenza avviene in un Web Worker sul tuo dispositivo; non viene caricato nulla. La sequenza viene interrotta dopo circa 1 secondo e vengono elencate al massimo 1.000 corrispondenze.

FAQ

Perché la mia espressione regolare trova solo una corrispondenza?

In JavaScript una regex senza il flag g (globale) si ferma alla prima corrispondenza. Seleziona g per trovare ogni corrispondenza; questo tester li elenca tutti.

Cos’è il backtracking catastrofico?

Alcuni modelli, come (a+)+$ o (.*)*, possono richiedere un tempo esponenziale sul testo che quasi corrisponde. Questo strumento esegue l'espressione regolare in un lavoratore separato e la interrompe dopo 1 secondo, quindi la pagina rimane reattiva e mostra invece un errore.

Una regex testata qui funzionerà in Python o PHP?

Spesso, ma non sempre. Questo tester utilizza il motore di JavaScript. Python, PHP (PCRE) e Java hanno caratteristiche e sintassi diverse per cose come gruppi con nome, lookbehind e flag, quindi ricontrolla i pattern che si basano su di essi.

Riferimenti

Pagina aggiornata: