Tester Regex

Testa espressioni regolari con evidenziazione delle corrispondenze in tempo reale, spiegazioni dei token e generazione di stringhe di esempio

/ /
0 corrispondenze
Le corrispondenze verranno evidenziate qui.
Nessuna corrispondenza ancora.
  • La spiegazione del pattern apparirà qui.

                

Come utilizzare

Passo 1

Inserire il pattern

Digita il tuo regex e seleziona i flag pertinenti.

Passo 2

Testare il testo in tempo reale

Visualizza le corrispondenze evidenziate e i gruppi di cattura in tempo reale.

Passo 3

Interpretare e generare

Rivedi la spiegazione del pattern e genera stringhe di esempio.

FAQ

Il tester di regex supporta flag come g, i, m, s e u?

Sì. Nel tester puoi attivare o disattivare i flag global, ignore case, multiline, dotAll, unicode e sticky.

Come funziona la spiegazione della regex?

Il parser legge il pattern token per token e genera spiegazioni in linguaggio semplice per ancore, classi, gruppi e quantificatori.

Posso generare stringhe di esempio da una regex?

Sì. Il generatore di esempio crea una stringa rappresentativa usando il pattern corrente, così puoi verificare al volo che il comportamento corrisponda alle tue intenzioni.

Qual è la differenza tra matching greedy e lazy?

Un quantificatore greedy come .* consuma quanto più possibile e poi fa backtracking; il suo gemello lazy .*? si ferma alla prima corrispondenza. Sul testo say "hi" bye, il pattern "..*" cattura l'intera riga, mentre ".*?" cattura solo hi. Greedy è il comportamento predefinito - aggiungi ? per rendere lazy qualsiasi quantificatore.

Come funzionano i gruppi di cattura e i backreference?

Le parentesi catturano: (\d{4})-(\d{2}) applicato a 2026-09-19 dà gruppo 1 = 2026 e gruppo 2 = 09, e in un pattern di sostituzione $1 riusa il testo catturato. I gruppi con nome come (?<year>\d{4}) rendono i pattern complessi più leggibili. JavaScript numera i gruppi in base alla parentesi di apertura, partendo da 1 - il gruppo 0 è sempre l'intera corrispondenza.

Quando serve il flag u (Unicode)?

Aggiungi u ogni volta che il pattern o il testo contengono caratteri non ASCII: fa sì che \w e \d seguano le regole Unicode, abilita le property escape come \p{L} e \p{Script=Arabic} e tratta le emoji come caratteri singoli. Senza u, una coppia di surrogati UTF-16 può essere spezzata a metà da una corrispondenza con il punto.

Come interagiscono ^, $ e i flag m e s?

Per impostazione predefinita ^ e $ ancorano l'intera stringa e . salta le interruzioni di riga. Il flag m (multiline) fa invece corrispondere ^ e $ a ogni confine di riga, e il flag s (dotAll) consente a . di attraversare i caratteri di nuova riga. Una ricetta comune per il parsing dei log è usare entrambi i flag insieme: /error.*timeout/gms.

Quale dialetto regex usa questo tester?

Usa il motore JavaScript nel tuo browser, quindi segue la semantica regex di ECMAScript (ECMA-262) - lo stesso motore che String.prototype.match usa nel JS di produzione. Tieni conto delle differenze rispetto a PCRE o Python: JavaScript non ha \K né la ricorsione, e il lookbehind è arrivato solo con ES2018. I pattern scritti per Perl o PCRE potrebbero richiedere piccole modifiche.

{-- * External Resources Component(#18 Phase 3b 内容佐证工程) * 工具页「权威引用」区块:RFC / W3C / WHATWG / ECMA / IANA / 官方规范站 / Wikipedia。 * * - 接受 :slug 属性 → 经 config/tool-sources.php 家族矩阵渲染该工具的权威引用 * - slug 未命中映射时不渲染(无权威来源的工具静默跳过) * - 链接 title 保持英文(引用源专名);description 经 * common.resources.descriptions.{key} 本地化,lang 未命中回退英文(线上不裸奔) * - 链接保持 dofollow(rel="noopener noreferrer") * * @param string|null $slug --}}