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
- Digite a expressão regular sem / / externos.
- Ative flags g, i, m, s, u ou y conforme necessário.
- 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.