Testador de regex

Teste correspondências de expressões regulares

Flags ?
Texto de teste
Correspondências
Sem correspondências

Guia da ferramenta

Sobre Testador de regex

Um regex tester executa expressões regulares JavaScript em texto e mostra matches, grupos de captura e índices ao vivo.

Use para depurar padrões de email, URL, logs, extração e validação de formulário localmente no navegador.

Como usar o Regex Tester

  1. Digite a expressão regular sem / / externos.
  2. Ative flags g, i, m, s, u ou y conforme necessário.
  3. Cole texto de teste e veja cada match, capture group e índice.

Quando usar

  • Checar se uma validação de formulário rejeita input válido.
  • Extrair IDs, URLs ou códigos de erro de logs e textos.
  • Comparar quantificadores greedy e lazy para controlar comprimento.

Flags, grupos de captura e armadilhas comuns

JavaScript regex é sensível a flags, escaping e quantificadores. Um backslash faltando ou .* amplo muda o resultado inteiro.

  • g retorna todos os matches; sem g normalmente você vê o primeiro.
  • i ignora caixa e m faz ^ e $ funcionarem por linha.
  • Parênteses criam capture groups; (?: ) evita capturas desnecessárias.
  • Backtracking pesado pode deixar texto longo lento; evite quantificadores muito aninhados.

Perguntas frequentes sobre Testador Regex

Devo digitar /pattern/g?
Não. Digite apenas o pattern e ajuste flags nos controles separados.
Por que o match ficou maior que o esperado?
.* e .+ são greedy por padrão. Tente .*? ou uma classe de caracteres mais específica.
Meu texto é enviado?
Não. O matching roda localmente no navegador e não é enviado ao wetool.site.

Regex Tester vs validação em produção

O tester dá feedback rápido, mas produção ainda precisa de casos limite, valores vazios, Unicode e checagem no regex engine usado pelo backend.

Checklist de backtracking catastrófico

Um regex que funciona em sample curto ainda pode travar com input longo. Antes de publicar, revise quantificadores aninhados e wildcards amplos.

  • Evite patterns explosivos aninhados ou sobrepostos como (.*)+, (.+)+ ou (a|aa)+.
  • Use explicit character classes em vez de .* quando possível; por exemplo [^,]* para campo separado por vírgula.
  • Limite o tamanho da entrada controlada pelo usuário e configure limites de tempo no servidor ou use regex engine com controles de execução segura.

Regex JavaScript vs engines de outras linguagens

Passar em online tester não garante o mesmo comportamento no backend. Flags, lookbehind, Unicode e named captures variam entre engines.

  • Flags JavaScript g, i, m, s, u e y não mapeiam perfeitamente para PCRE, Python ou Go options.
  • Lookbehind, Unicode property escapes e named groups podem faltar em browsers antigos ou alguns backend runtimes.
  • Antes de mover um pattern para backend, cubra valores vazios, entradas longas, emoji e casos com quebra de linha com unit tests na linguagem alvo.