Regex tester

Testa regex JavaScript su qualsiasi stringa e vedi i match evidenziati in tempo reale. Gruppi, flag e posizioni nella lista qui sotto.

Usa il RegExp nativo del browser — ciò che provi qui è esattamente ciò che gira nel tuo codice JavaScript.

Evidenziato

Highlighted matches will appear here.

Corrispondenze

Match list with capture groups will appear here.
Edit the pattern or test string, then press Test (Cmd/Ctrl+Enter).

Sapore JavaScript

Questo tester usa il RegExp nativo del browser. Supporta la sintassi regex ECMAScript, che non è la stessa di PCRE (PHP, Perl) o di re di Python. Alcune costruzioni di altri motori non sono disponibili o si comportano in modo diverso:

  • No possessive quantifiers (a*+, a++).
  • No atomic groups (?>...).
  • No conditional patterns (?(1)yes|no).
  • Lookbehind (?<=...) is supported in modern browsers but can fail in older engines.
  • Named groups use (?<name>...) (not (?P<name>...) like Python).

Riferimento ai flag

  • g — return all matches, not just the first.
  • i — case-insensitive match.
  • m^ and $ match at line breaks, not only string edges.
  • s — dot . also matches newlines.
  • u — full Unicode mode; \p{...} property escapes enabled.
  • y — sticky: match must start exactly at lastIndex.

Esempi

Qualche pattern da incollare nel campo qui sopra per vederli in azione:

\d{4}-\d{2}-\d{2}            # ISO-like dates
[\w.+-]+@[\w-]+\.[\w.-]+     # rough email
^https?:\/\/\S+              # URL at line start (needs m flag)
(?<year>\d{4})-(?<mo>\d{2})  # named groups

FAQ

Perché il mio pattern che funziona in PHP/Python fallisce qui?

Questo tester esegue il pattern con il RegExp del browser, che è ECMAScript flavor. Le funzionalità esclusive di PCRE (quantificatori possessivi, gruppi atomici, pattern condizionali) non sono supportate. Riscrivi il pattern in forma compatibile con ECMAScript.

Il mio pattern ha bloccato la pagina per un attimo. Perché?

Il motore regex di JavaScript è single-threaded e può essere lento su pattern con catastrophic backtracking (per esempio quantificatori annidati come (a+)+$). Lo strumento limita la lista di match a 1000 per contenere il danno, ma il match in sé gira sulla pagina.

Come faccio match su più righe?

Usa il flag s se vuoi che . matchi anche le nuove righe, e il flag m se vuoi che ^/$ si ancorino a ciascuna riga.

Il mio pattern e il testo di test vengono inviati da qualche parte?

No. La regex gira interamente nel browser. Nulla viene caricato.

Strumenti correlati