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
- Digite a expressão entre as barras e as flags no campo ao lado (ou clique nos botões de flags).
- Cole o texto de teste. As correspondências aparecem destacadas e numeradas.
- Veja na tabela a posição de cada correspondência e o valor de cada grupo.
- 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.