Testador de Expressões Regulares
Teste expressões regulares com destaque de correspondência em tempo real, explicações de tokens e geração de strings de exemplo
- A explicação do padrão aparecerá aqui.
Como usar
Inserir padrão
Digite seu regex e selecione as flags relevantes.
Testar texto ao vivo
Veja correspondências destacadas e grupos de captura em tempo real.
Interpretar e gerar
Revise a explicação do padrão e gere strings de exemplo.
Perguntas frequentes
Sim. Pode ativar e desativar as flags global, ignore case, multiline, dotAll, unicode e sticky no testador.
O parser lê o seu padrão token a token e gera explicações em linguagem simples para âncoras, classes, grupos e quantificadores.
Sim. O gerador de exemplos cria uma string representativa usando o seu padrão atual, para que possa verificar rapidamente se corresponde à intenção.
Um quantificador greedy como .* consome o máximo possível e depois recua (backtracking); o seu equivalente lazy .*? para na primeira correspondência. No texto say "hi" bye, o padrão "..*" captura a linha inteira, enquanto ".*?" captura apenas hi. O greedy é o comportamento predefinido - acrescente ? para tornar qualquer quantificador lazy.
Os parênteses capturam: (\d{4})-(\d{2}) aplicado a 2026-09-19 dá grupo 1 = 2026 e grupo 2 = 09, e num padrão de substituição $1 reutiliza o texto capturado. Grupos nomeados como (?<year>\d{4}) tornam padrões complexos mais legíveis. O JavaScript numera os grupos pela ordem do respetivo parêntese de abertura, começando em 1 - o grupo 0 é sempre a correspondência completa.
Adicione u sempre que o padrão ou o texto envolver caracteres não ASCII: faz com que \w e \d sigam as regras Unicode, ativa 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 ao meio por uma correspondência com o ponto.
Por predefinição, ^ e $ ancoram a string completa e . ignora quebras de linha. A flag m (multiline) faz com que ^ e $ correspondam em cada limite de linha, e a flag s (dotAll) permite que o . atravesse novas linhas. Uma receita comum para análise de logs é usar ambas as flags em conjunto: /error.*timeout/gms.
O testador executa o motor JavaScript no seu navegador, pelo que segue a semântica de regex do ECMAScript (ECMA-262) - o mesmo motor que String.prototype.match usa no JS de produção. Tenha em atenção as diferenças em relação ao PCRE ou ao Python: o JavaScript não tem \K nem recursividade, e o lookbehind só chegou no ES2018. Padrões escritos para Perl ou PCRE podem precisar de pequenos ajustes.
Ferramentas Relacionadas
Referências de Autoridade
As fontes primárias por trás desta ferramenta - normas e especificações oficiais, não resumos de segunda mão.
MDN Web Docs - Regular Expressions
Referência da Mozilla para o RegExp de JavaScript: sintaxe, flags e grupos de captura nomeados.
ECMA-262 - ECMAScript Language Specification
O capítulo sobre expressões regulares da especificação oficial da linguagem ECMAScript.
Regular expression - Wikipedia
História e conceitos das expressões regulares: da herança do Perl aos motores modernos.