Ir para o conteúdo

Testador de regex

Teste uma expressão regular JavaScript ao vivo: correspondências destacadas, grupos de captura e flags g, i, m, s, u. Grátis, sem cadastro.

  • Grátis
  • Sem cadastro
  • Nenhum arquivo enviado
  • Windows, Mac, Android, iPhone

Carregando a ferramenta…

Sobre esta ferramenta

Escreva uma expressão regular e veja na hora o que ela encontra no seu texto: correspondências destacadas, posição, grupos numerados e nomeados. O motor é o do JavaScript, o mesmo do Node.js e dos navegadores.

Quando usar

Validar um formato de entrada

CEP, telefone, código de produto, e-mail simples: escreva a expressão, cole exemplos válidos e inválidos e confira se ela aceita os certos e recusa os outros antes de colocá-la num formulário.

Extrair dados de um texto

Datas num log de servidor, valores num extrato, links numa página: os grupos de captura, numerados ou nomeados, mostram exatamente o que seu código vai pegar.

Preparar um localizar e substituir

Antes de rodar uma substituição no projeto inteiro pelo editor, teste a expressão num trecho: você vê cada correspondência destacada e evita substituições indesejadas.

Como usar

  1. Escreva a expressão, sem barras.
  2. Marque as flags necessárias.
  3. Cole o texto de teste e leia as correspondências.

Como funciona

A expressão é compilada pelo motor de expressões regulares do JavaScript, o mesmo do Chrome, Node.js e Deno. A flag g fica sempre ativa para listar todas as correspondências; você pode adicionar i (ignora maiúsculas), m (multilinha), s (o ponto inclui quebras de linha) e u (Unicode).

Para cada correspondência, a ferramenta mostra a posição, o texto encontrado e o conteúdo dos grupos, inclusive grupos nomeados (?<name>…). O texto é destacado onde há correspondências. Para manter a página fluida, a exibição para em 1.000 correspondências. Nada é enviado: a expressão roda no seu navegador.

Dicas para um melhor resultado

  • Ancore suas validações com ^ e $: sem eles, “12345-678abc” contém um CEP válido.
  • Teste casos-limite: string vazia, espaços no início ou no fim, caracteres acentuados, entradas muito longas.
  • Prefira grupos nomeados (?<year>\d{4}): o código que os lê fica bem mais claro.
  • Evite quantificadores aninhados como (a+)+: eles podem travar um servidor com uma entrada maliciosa.
  • Regex não é a ferramenta certa para analisar HTML ou JSON completos: use um parser de verdade.

Problemas comuns e soluções

Só uma correspondência em vez de todas

Adicione a flag g no seu código; esta ferramenta sempre a ativa para listar todas as correspondências.

O ponto não atravessa linhas

Marque a flag s (dotAll) ou use [\s\S].

A página fica lenta com algumas expressões

Quantificadores aninhados como (a+)+ causam “backtracking catastrófico”: simplifique a expressão.

Perguntas frequentes

Qual sintaxe é usada?

A do JavaScript (ECMAScript), próxima do PCRE: lookbehind, grupos nomeados (?<name>…) e Unicode são suportados.

Como escapar um caractere especial?

Coloque uma barra invertida antes: \. para um ponto, \( para um parêntese.

Meu texto é enviado?

Não, a expressão roda no seu navegador.

O que faz a flag m?

Com m, ^ e $ correspondem ao início e ao fim de cada linha, não do texto inteiro.

Pesquisas relacionadas

Ainda com problema?

Pergunte no fórum: a categoria, a ferramenta, a ficha do seu dispositivo e o resultado do teste são preenchidos para você.