Testador de regex
Construa e teste regex JS com destaque ao vivo e detalhamento de grupos de captura. Seis flags, cinco padrões de amostra. Tudo no navegador.
Padrão entre as barras; alterne flags à direita. Passe o mouse em cada flag para ver o que faz.
O que é um testador de regex?
Um testador de regex compila uma expressão regular em tempo real e mostra exatamente quais substrings combinam — índices, comprimentos, grupos de captura.
O que fazem os flags?
Cada flag muda como o motor combina: <code>g</code> todas as correspondências, <code>i</code> ignora caixa, <code>m</code> <code>^/$</code> por linha, <code>s</code> <code>.</code> com newline, <code>u</code> Unicode, <code>y</code> sticky.
Evitando backtracking catastrófico
Padrões com quantificadores aninhados como <code>(a+)+b</code> podem levar tempo exponencial. Este testador limita inputs a 100 KB e tenta abortar após 100 ms.
Tem uma resposta JSON para inspecionar? Experimente nosso formatador JSON.
Usos comuns
- Validação de email: Construa um regex pragmático que você entende — RFC 5322 completo é enorme.
- Extração de logs: Extraia IDs, códigos de erro ou timestamps de linhas de log.
- Limpeza de formulários: Valide telefones, CEPs ou SKUs antes de enviar para a API.
- Localizar e substituir: Itere um padrão aqui antes de colar no search regex do VS Code.
- Correspondência de URL: Padrões com named capture groups para extrair segmentos.
- Configuração de CI lint: Teste padrões destinados a ESLint ou pre-commit hooks.
- Limpeza de dados em escala: Teste um regex numa amostra de CSV antes do ETL.
FAQ
O que significa o flag g?
O flag "global" diz ao engine para encontrar todas as correspondências. Sem ele, .match() retorna só a primeira.
O que é um grupo de captura?
Parênteses criam um grupo de captura — o engine lembra do que combinou dentro. (?
Lookahead vs lookbehind — quando usar cada?
Lookahead (?=…) verifica o que segue sem consumir; lookbehind (?<=…) faz o mesmo para trás. Úteis para asserções de contexto.
Por que meu regex está lento ou travando a página?
Provavelmente backtracking catastrófico — quantificadores aninhados geram caminhos exponenciais. Reescreva com possessive quantifiers.
Esta ferramenta envia meu regex?
Não. O regex compila e roda no seu navegador. Padrão e flags são salvos no localStorage, mas a string de teste não é persistida.
Em números
- Regex JavaScript segue a especificação ECMA-262 — suportado em todos os navegadores modernos sem polyfills
- As seis flags
g i m s u yadicionam comportamentos específicos —gtodas as correspondências,iignora caixa,sfaz.corresponder a quebras de linha - Um padrão de "backtracking catastrófico" pode levar tempo exponencial — nunca confie em padrões do usuário no servidor sem timeout
- Grupos de captura nomeados
(?<name>...)foram padronizados em ES2018, acessíveis viamatch.groups.name