Testador de Analisador Regex

Teste expressões regulares com realce de correspondência em tempo real, análises token por token e geração de strings de amostra

/ /
0 correspondências
As correspondências serão destacadas aqui.
Sem correspondências ainda.
  • A explicação do padrão aparecerá aqui.

                

Como usar

Passo 1

Inserir padrão

Digite seu regex e selecione as flags relevantes.

Passo 2

Testar texto ao vivo

Veja correspondências destacadas e grupos de captura em tempo real.

Passo 3

Interpretar e gerar

Revise a explicação do padrão e gere strings de exemplo.

Perguntas frequentes

O testador de regex suporta flags como g, i, m, s e u?

Sim. No testador, você pode ativar e desativar as flags global, ignore case, multiline, dotAll, unicode e sticky.

Como funciona a explicação do regex?

O analisador lê seu padrão token por token e gera explicações em linguagem simples para âncoras, classes, grupos e quantificadores.

Posso gerar strings de exemplo a partir de um regex?

Sim. O gerador de exemplo cria uma string representativa usando o seu padrão atual, para que você valide rapidamente se ele faz o que você espera.

Qual é a diferença entre correspondência greedy (gulosa) e lazy (preguiçosa)?

Um quantificador greedy como .* consome o máximo possível e depois faz backtrack; seu equivalente lazy .*? para na primeira correspondência. No texto say "hi" bye, o padrão "..*" captura a linha inteira, enquanto ".*?" captura apenas hi. Greedy é o padrão - adicione ? para tornar qualquer quantificador lazy.

Como funcionam os grupos de captura e as backreferences?

Parênteses capturam: (\d{4})-(\d{2}) aplicado a 2026-09-19 dá grupo 1 = 2026 e grupo 2 = 09, e em um padrão de substituição $1 reutiliza o texto capturado. Grupos nomeados como (?<year>\d{4}) ficam mais legíveis em padrões complexos. O JavaScript numera os grupos pelo parêntese de abertura, começando em 1 - o grupo 0 é sempre a correspondência inteira.

Quando preciso da flag u (Unicode)?

Adicione u sempre que o padrão ou o texto envolver caracteres não ASCII: ela faz \w e \d seguirem as regras Unicode, habilita escapes de propriedade como \p{L} e \p{Script=Arabic} e trata emoji como caracteres únicos. Sem u, um par surrogate UTF-16 pode ser dividido pela metade por uma correspondência de ponto.

Como ^, $ e as flags m e s interagem?

Por padrão, ^ e $ ancoram a string inteira e . ignora quebras de linha. A flag m (multiline) faz ^ e $ corresponderem em cada limite de linha, e a flag s (dotAll) permite que . atravesse novas linhas. Uma receita comum para análise de logs é usar as duas flags juntas: /error.*timeout/gms.

Qual sabor de regex este testador usa?

Ele executa o engine JavaScript no seu navegador, então segue a semântica de regex do ECMAScript (ECMA-262) - o mesmo engine que String.prototype.match usa no JS de produção. Observe as diferenças em relação a PCRE ou Python: o JavaScript não tem \K nem recursão, e o lookbehind chegou apenas no ES2018. Padrões escritos para Perl ou PCRE podem precisar de pequenos ajustes.

{-- * 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 --}}