Testador de Expressões Regulares

Escreva, teste e entenda expressões regulares com resultados em tempo real.

—

Correspondências e grupos

Substituir

Use $1, $2… ou $<nome> para os grupos e $& para a correspondência inteira.

Padrões prontos

Os padrões de CPF e CNPJ verificam apenas o formato. Para validar os dígitos verificadores, use o validador de CPF e CNPJ.

Guia rápido de sintaxe

.qualquer caractere (exceto quebra de linha, sem a flag s)
\d \Ddígito / não dígito
\w \Wletra, número ou _ / o contrário
\s \Sespaço em branco / o contrário
\blimite de palavra
^ $início / fim (da linha, com a flag m)
[abc] [^abc]um dos caracteres / nenhum deles
[a-z0-9]intervalo
a* a+ a?0 ou mais / 1 ou mais / 0 ou 1
a{3} a{2,5}exatamente 3 / de 2 a 5
a+?versão preguiçosa (o mínimo possível)
(abc)grupo de captura ($1)
(?<nome>abc)grupo nomeado ($<nome>)
(?:abc)grupo sem captura
a|ba ou b
(?=a) (?!a)seguido de / não seguido de
(?<=a) (?<!a)precedido de / não precedido de
\p{L}qualquer letra Unicode, inclusive acentuadas (flag u)

Processado no seu navegador: nada do que você digita ou envia sai do seu dispositivo.

Testador de expressões regulares (regex) online

Expressões regulares, ou regex, são padrões que descrevem textos. Com elas é possível validar um CPF ou e-mail, encontrar todas as datas de um documento, extrair telefones de uma planilha ou trocar o formato de milhares de linhas de uma vez. Este testador mostra as correspondências destacadas enquanto você digita, lista os grupos de captura, faz substituições e traz padrões prontos para dados brasileiros. Ele usa o motor de regex do JavaScript, o mesmo do navegador, do Node.js e do TypeScript.

Como usar

  1. Digite a expressão entre as barras e as flags no campo ao lado (ou clique nos botões de flags).
  2. Cole o texto de teste. As correspondências aparecem destacadas e numeradas.
  3. Veja na tabela a posição de cada correspondência e o valor de cada grupo.
  4. Use o campo Substituir por para testar trocas com $1, $<nome> e $&.

Flags

  • g (global): encontra todas as ocorrências, e não só a primeira.
  • i: ignora diferenças entre maiúsculas e minúsculas.
  • m (multilinha): faz ^ e $ valerem para o início e o fim de cada linha.
  • s: faz o ponto . também corresponder a quebras de linha.
  • u (unicode): trata emojis e acentos corretamente e habilita \p{L} e similares.
  • y (aderente): só procura exatamente na posição atual.

Exemplo: converter datas

A expressão (?<dia>\d{2})\/(?<mes>\d{2})\/(?<ano>\d{4}) encontra datas no formato brasileiro e dá nome a cada parte. Com a substituição $<ano>-$<mes>-$<dia>, "12/03/2026" vira "2026-03-12", o formato ISO usado por bancos de dados. Esse é o exemplo que já vem carregado na ferramenta.

Padrões úteis para o Brasil

A biblioteca de padrões prontos inclui CPF, CNPJ, CEP, celular e telefone, placa Mercosul, e-mail, URL, data, hora, valor em reais, IPv4, hashtag e cor HEX. Clique para carregar e adapte ao seu caso. Lembre que regex verifica o formato: um CPF com formato correto pode ter dígitos verificadores inválidos. Para isso, use o validador de CPF e CNPJ.

Cuidado com o retrocesso catastrófico

Algumas expressões, como (a+)+$ ou (\w+\s?)*$, podem levar um tempo exponencial em textos que quase correspondem. Esse problema, chamado de catastrophic backtracking (ou ReDoS, quando explorado em ataques), pode travar navegadores e servidores. Aqui, cada teste roda em um processo separado (Web Worker) com limite de 2 segundos: se o tempo estourar, o teste é interrompido e você recebe um aviso — sem travar a página.

Para evitar o problema: não aninhe quantificadores sobre o mesmo conteúdo, prefira classes específicas ([^,]* em vez de .*) e use âncoras ^ e $ quando possível.

Diferenças entre linguagens

A sintaxe básica é comum a quase todas as linguagens, mas há diferenças: grupos nomeados usam (?P<nome>…) em Python, o PHP e o Java exigem escapar barras invertidas dentro de strings ("\\d"), e recursos como lookbehind e \p{L} dependem da versão. O botão Copiar como JavaScript gera o literal pronto, como /\d{2}\/\d{2}/g.

Para aplicar uma regex em um texto grande e baixar o resultado, use o localizar e substituir do editor de texto, que também aceita expressões regulares.

Conteúdo revisado em .

Perguntas frequentes

O que é regex?

Regex (expressão regular) é uma linguagem para descrever padrões de texto. Com ela é possível buscar, validar, extrair e substituir trechos, como datas, e-mails ou números de telefone.

Qual motor de regex esta ferramenta usa?

O motor nativo do JavaScript (ECMAScript) do seu navegador. Os resultados valem para JavaScript, TypeScript e Node.js; outras linguagens têm pequenas diferenças de sintaxe.

Como usar grupos na substituição?

Use $1, $2 etc. para grupos numerados, $<nome> para grupos nomeados criados com (?<nome>...) e $& para a correspondência inteira.

Por que minha regex encontra só a primeira ocorrência?

Falta a flag g (global). Ative-a para encontrar todas as correspondências do texto.

Como fazer a regex aceitar letras acentuadas?

Use a classe \p{L} (qualquer letra Unicode) com a flag u, ou inclua os acentos em uma classe, como [A-Za-zÀ-ÿ]. O atalho \w só cobre letras sem acento, números e _.

A página travou com uma regex. O que aconteceu?

Expressões com quantificadores aninhados podem demorar exponencialmente. Esta ferramenta interrompe testes que passam de 2 segundos e mostra um aviso; reescreva o padrão evitando estruturas como (a+)+.

A regex valida se um CPF é verdadeiro?

Não. Ela verifica apenas o formato (quantidade de dígitos, pontos e traço). Os dígitos verificadores precisam de um cálculo próprio, feito pelo validador de CPF e CNPJ do site.