tomai
Entrar
Grátis · Ferramentas de desenvolvedor

Testador de regex

Teste expressões regulares ao vivo — destaque, grupos e substituição

/ /
Padrões comuns
Correspondências
Resultado

  
Referência rápida
\d \w \sdígito, caractere de palavra, espaço
^ $ \binício, fim, limite de palavra
* + ? {n,m}0+, 1+, opcional, intervalo
(…) (?:…) (?<name>…)captura, não captura, nomeado
[abc] [^abc] [a-z]um de, nenhum de, intervalo
a|b (?=…) (?!…)alternância, lookahead

Retrocesso catastrófico, contido

Quantificadores aninhados, como (a+)+$, podem levar o mecanismo de correspondência a explorar um número exponencial de caminhos — a clássica armadilha ReDoS:

  • Este verificador envolve seu padrão em um worker com orçamento de etapas; uma correspondência descontrolada é interrompida e relatada, em vez de congelar a aba.
  • Se você observar uma interrupção, o padrão também é perigoso em produção — nenhum tempo limite no servidor resolve um loop quadrático no mecanismo de correspondência.
  • Correções geralmente eficazes: torne grupos internos não ambíguos, use âncoras em ambos os extremos e substitua aninhamentos gananciosos por classes de caracteres.

Como este verificador executa padrões com segurança

Realce de correspondências ao vivo

Padrão, texto de teste e substituição se atualizam enquanto você digita: as correspondências brilham em cores alternadas, o contador atualiza e a prévia de substituição aplica $1 e grupos nomeados como $<name>.

🔒

Grupos com posições

Cada correspondência se expande em grupos de captura numerados e nomeados, com valores e posições de caractere, deixando claro qual parte do padrão capturou o quê antes de usar em produção.

🎯

Flags, biblioteca e referência

As flags g, i, m, s, u e y ficam a um clique, seis padrões prontos cobrem e-mails, URLs, IPv4, datas, cores hex e telefones, e uma referência de sintaxe explica âncoras, quantificadores, grupos e lookarounds.

Perguntas frequentes

Qual dialeto de regex isto usa?

O motor JavaScript (ECMAScript) embutido no seu navegador. A maior parte da sintaxe é comum ao PCRE, mas algumas coisas diferem — por exemplo, não há quantificadores possessivos, e o lookbehind exige um navegador moderno. Os padrões testados aqui se comportam exatamente como no código JS.

Meu texto é enviado para algum lugar?

Não. Correspondência, agrupamento e substituição rodam todos localmente com a RegExp nativa do navegador, então seus padrões e dados de teste nunca saem da página. Também funciona off-line.

Uma regex pode travar a página?

Um padrão patológico (backtracking catastrófico) pode ficar lento, mas só na sua própria aba. Avançamos além de correspondências de largura zero e limitamos os resultados a 10.000 para manter a interface responsiva. Em entradas longas, prefira padrões específicos a quantificadores aninhados como (a+)+.

Por que meu padrão trava em algumas entradas, mas não em outras?

O custo do backtracking depende da forma da entrada, não apenas do seu comprimento: por exemplo, a string <code>aaaa...b</code> aplicada à expressão regular <code>(a+)+b</code> causa explosão, enquanto <code>aab</code> é processada instantaneamente. Atacantes criam exatamente essas strings patológicas; portanto, teste com sequências longas de caracteres repetidos antes de lançar qualquer regex exposta ao usuário.

Ferramentas relacionadas

O que é um testador de expressões regulares?

As expressões regulares — padrões para buscar e substituir texto — estão entre as ferramentas mais poderosas e ao mesmo tempo mais propensas a erro da programação. Uma barra invertida fora do lugar muda o que é encontrado, e um padrão que parece certo no papel costuma surpreender quando encara dados reais. Este testador mostra ao vivo o que um padrão realmente faz: cada correspondência é destacada no texto de teste, os grupos de captura numerados e nomeados são decompostos com suas posições, e uma prévia de substituição mostra o resultado com a sintaxe $1 ou $. As flags g, i, m, s, u e y ficam a um clique, junto com uma biblioteca de padrões prontos e uma tabela de referência de sintaxe. Ele usa o motor de regex do JavaScript — exatamente o que o código do navegador executa —, então o que você testa aqui é o que vai ao ar. Feito para desenvolvedores front-end, testers e qualquer pessoa que processe texto.

O que esta ferramenta faz

  • 🔦 Destaque ao vivo de cada correspondência enquanto você digita
  • 🧩 Grupos de captura numerados e nomeados com posições
  • 🔁 Prévia de substituição com sintaxe $1 e $
  • 🚩 Flags: g, i, m, s, u, y
  • 📚 Biblioteca de padrões: e-mail, URL, IPv4, data, cor hex, telefone
  • 📖 Tabela de referência de sintaxe integrada

Quando usar

  • Para escrever um padrão de validação para um campo de formulário
  • Para depurar por que uma regex encontra demais ou de menos
  • Para construir um script de processamento de texto que dependa de grupos de captura
  • Para verificar um padrão da comunidade antes de adotá-lo

Privacidade: o padrão e o texto de teste são avaliados inteiramente no seu navegador — nada é enviado ou registrado. Grátis.

Ferramentas relacionadas