Testador de Regex
Teste expressões regulares ao vivo com o motor regex do Rust (WebAssembly): destaque de correspondências, grupos nomeados, flags i/m/s e padrões salvos.
Os dados inseridos e arquivos ficam no navegador
Tokens comuns
.- Qualquer caractere
\d- Dígito
\w- Caractere de palavra
\s- Espaço em branco
^- Início
$- Fim
*- 0 ou mais
+- 1 ou mais
?- 0 ou 1
Digite ou cole o texto para testar o padrão, ou carregue um exemplo.
Correspondências
Insira um padrão — as correspondências com posições e grupos de captura aparecem aqui.
Padrões salvos
Ainda não há padrões salvos.
| Nome | Padrão | Ações |
|---|
Exemplos
| Nome | Padrão | Ações |
|---|
Nesta página
Escreva uma expressão regular e veja cada correspondência destacada no texto de teste enquanto digita, com posições e grupos de captura listados abaixo. Os padrões rodam no crate regex do Rust compilado para WebAssembly, então a sintaxe e o comportamento são os do Rust, não os do JavaScript.
Funcionalidade detalhada
A sintaxe suportada inclui classes de caracteres e classes Unicode como \p{Cyrillic}, quantificadores gulosos e preguiçosos, alternância, âncoras, limites de palavra \b, grupos numerados, grupos nomeados (?<name>…) ou (?P<name>…), grupos sem captura e flags inline como (?i). Lookahead, lookbehind e retrorreferências como \1 não são suportados por esse motor — a ferramenta mostra o erro do motor. Em troca, o tempo de busca cresce linearmente com a entrada, então padrões como (a+)+$ não conseguem travar a página.
Flags: i ignora maiúsculas/minúsculas, m faz ^ e $ casarem em cada linha, s permite que . case uma quebra de linha; com Global desmarcado, só a primeira correspondência aparece. O modo Unicode está sempre ativo no motor do Rust, então \w, \d e . casam letras, dígitos e caracteres não ASCII. As posições são índices de string do JavaScript (UTF-16, um emoji ocupa 2). A lista mostra as 50 primeiras correspondências e a contagem para em 10.000.
Tudo roda localmente. Um padrão só é guardado — com nome, flags e texto de exemplo, no localStorage deste navegador — quando você clica em Salvar padrão. Cinco exemplos prontos (e-mail, endereço IPv4, data, cor hexadecimal, URL) carregam com um clique.
Exemplos práticos
Grupos nomeados: (?<year>\d{4})-(?<month>\d{2})-(?<day>\d{2}) em Released 2026-10-06, patched 2026-11-02 dá 2 correspondências; a primeira é 2026-10-06 em [9-19], com year 2026, month 10, day 06.
Alternância sem diferenciar maiúsculas: error|warn com a flag i nas linhas ERROR: disk full e Warn: low memory casa ERROR e Warn.
Âncoras de linha: ^\w+ nas linhas alpha one e beta two casa só alpha; com a flag m casa alpha e beta.
Lookahead não suportado: foo(?=bar) é rejeitado com “look-around, including look-ahead and look-behind, is not supported” — use foo(bar) e aproveite o grupo.
Como usar esta ferramenta
Digite o padrão
Escreva a expressão em Padrão, sem barras em volta. Cola lista os tokens mais comuns.
Ajuste as flags
Em Flags, marque Ignorar maiúsculas, Multilinha ou Ponto corresponde a tudo conforme necessário; desmarque Global para ver só a primeira correspondência.
Adicione o texto de teste
Cole o texto em String de Teste — as correspondências são destacadas enquanto você digita.
Analise as correspondências
A lista Correspondências mostra cada uma com a posição
[start-end]e os grupos de captura.Salve ou reutilize
Clique em Salvar padrão para guardar a expressão e depois use Carregar em Padrões salvos, ou comece por um dos Exemplos.
Dicas e melhores práticas
- Padrões de JavaScript ou PCRE com lookaround ou
\1precisam ser reescritos: capture o texto vizinho em um grupo ou verifique a condição no código. /não precisa de escape, mas um ponto literal sim: escreva\.para “.”.- Flags inline também funcionam dentro do padrão:
(?i)errorequivale aerrorcom a flag i. - Os padrões salvos ficam só neste navegador; limpar os dados do site os apaga.
- Use
\bem volta das palavras (\bcolou?r\b) para quecoloursnão seja casado comocolour.