acento.io
Ferramenta dev

Testador de Regex

Teste expressões regulares JavaScript em tempo real — 100% no navegador, seus padrões e textos nunca saem do seu computador.

Por Carlos Suárez , Engenheiro de sistemas
Última atualização:

O que este Testador de Regex faz

Esta versão em português é um testador de regex online completo para quem trabalha com JavaScript. Cole o seu padrão, insira o texto e veja cada correspondência destacada diretamente no input — sem recarregar a página, sem enviar dados para nenhum servidor. O teste de expressões regulares costuma consumir tempo valioso: você ajusta o padrão, roda o código, confere o log e repete. Aqui o ciclo é instantâneo. Todos os grupos de captura — numerados e nomeados — são listados com seus valores e posições. As flags g, i, m, s, u e y são ativadas com um clique. Um guarda de segurança interno impede que correspondências de largura zero (como ^ e $ em loops) travem o navegador. 100% no navegador — seus dados nunca saem do seu computador. Sem uploads, sem rastreamento, sem logs em servidor.

Recursos

  • Destaque em tempo real. Cada correspondência é marcada diretamente no texto enquanto você digita o padrão, sem precisar clicar em nenhum botão.
  • Inspeção de grupos de captura. Grupos numerados e nomeados são exibidos com valor, índice de início e fim — ideal para depurar parsers e extrair campos de logs.
  • Troca de flags com um clique. Ative ou desative g, i, m, s, u e y individualmente e veja o resultado mudar imediatamente, sem redigitar o padrão.
  • Mensagens de erro amigáveis. Padrões inválidos exibem a mensagem do motor JavaScript traduzida para facilitar a correção, sem stack traces crípticos.
  • Proteção contra loop infinito. Correspondências de largura zero — como lookarounds e âncoras mal posicionadas — são detectadas e interrompidas antes de travar a aba.
  • Privacidade total. Toda a lógica roda no motor V8 do seu próprio navegador. Nenhum padrão, nenhum texto de teste e nenhum resultado trafega pela rede — conforme recomendado pelo RFC 4122 para ferramentas que lidam com dados sensíveis.

Como usar o Testador de Regex

Três campos, resultado imediato. Nenhuma configuração necessária.

  1. Digite o padrão. Insira a expressão regular no campo de padrão — por exemplo, (?P<ano>\d{4})-(?P<mes>\d{2})-(?P<dia>\d{2}) para extrair datas no formato ISO 8601.
  2. Escolha as flags. Clique nas flags desejadas. Use g para encontrar todas as ocorrências e i para ignorar maiúsculas e minúsculas — útil ao validar e-mails ou URLs.
  3. Cole o texto de teste. Insira o texto no campo de entrada. As correspondências são destacadas imediatamente e os grupos de captura aparecem listados abaixo.
  4. Inspecione os grupos. Cada grupo numerado e nomeado mostra valor e posição. Se precisar limpar o texto antes de testar, o [removedor de duplicados](/pt/remove-duplicates/) pode ajudar a preparar amostras de log.
  5. Copie o padrão validado. Clique em 'Copiar' para levar o regex direto para o seu editor. O padrão testado aqui funciona sem alterações em qualquer ambiente JavaScript moderno.

Casos de uso comuns

  • Validação de formulários antes de ir para produção. Teste o regex de e-mail, CPF ou telefone contra dezenas de exemplos reais antes de embutir no código. Evita regressões que só aparecem depois do deploy.
  • Extração de campos em logs de servidor. Analise linhas de acesso do Nginx ou Apache com grupos nomeados — por exemplo, (?<ip>[\d.]+) — e veja exatamente o que cada captura retorna sem rodar um script.
  • Depuração de regex em pipelines de dados. Equipes em Brasília e São Paulo que processam arquivos CSV ou JSON frequentemente precisam ajustar padrões de limpeza. O construtor online de regex elimina o ciclo editar-rodar-verificar.
  • Comparação de comportamento de flags. Quer saber se adicionar s (dotAll) muda o número de correspondências no seu padrão? Alterne a flag e compare o resultado instantaneamente — sem abrir o console do navegador.
  • Aprendizado e documentação de padrões. Professores e redatores técnicos usam o verificador de regex para ilustrar conceitos como quantificadores gananciosos (.*) vs. preguiçosos (.*?). Se também precisar comparar duas versões de um texto, o [comparador de textos](/pt/text-diff/) complementa bem o fluxo.

Perguntas frequentes

Meus padrões e textos de teste são enviados para algum servidor?

Não. Todo o processamento ocorre no motor JavaScript do seu próprio navegador. Nenhum dado trafega pela rede — nem o padrão, nem o texto, nem os resultados. Isso vale também para expressões que contenham senhas, tokens ou dados pessoais.

Este testador funciona para Python ou Java?

O motor usado é o JavaScript nativo do navegador (ECMA-262), então a sintaxe é a mesma de qualquer ambiente Node.js ou browser moderno. Para Python (re) e Java (java.util.regex), alguns recursos diferem: Python suporta grupos nomeados com (?P<nome>...), Java com (?<nome>...) — a mesma sintaxe aceita aqui. Recursos exclusivos do PCRE, como padrões recursivos, não estão disponíveis em nenhum dos três.

Por que meu regex com `.*` captura mais do que o esperado?

O quantificador .* é ganancioso por padrão: ele consome o máximo de caracteres possível antes de recuar. Troque por .*? (preguiçoso) para capturar o mínimo necessário. O testador destaca exatamente o trecho capturado, o que facilita visualizar a diferença entre os dois modos.

O que acontece se meu padrão causar um loop infinito?

Expressões com correspondências de largura zero mal construídas — como (a*)* em certos textos — podem travar um motor de regex sem proteção. Este testador detecta a condição e interrompe a execução antes que o navegador congele, exibindo um aviso claro. O problema ficou conhecido após incidentes em sistemas legados, como o bug Y2K38 em timestamps de 32 bits, que revelou a importância de guardar limites em loops de processamento.

Posso usar grupos nomeados e como eles aparecem?

Sim. Use a sintaxe (?<nome>padrão) para criar um grupo nomeado. O testador lista cada grupo — numerado e nomeado — com seu valor exato e as posições de início e fim no texto. Isso é especialmente útil ao montar parsers ou ao documentar expressões complexas para o time.

Qual é a diferença entre este testador e um regex editor tradicional?

Um editor de regex online genérico costuma suportar múltiplos flavors (PCRE, Python, .NET). Este foca em JavaScript puro, seguindo o padrão descrito na WHATWG Encoding Standard para comportamento de strings Unicode, o que garante que o resultado aqui seja idêntico ao do seu código JS em produção — sem surpresas de portabilidade.