Testador de Regex com Explicação — Ferramenta Online Grátis
Teste expressões regulares em tempo real com destaque de correspondências, captura de grupos e explicações em português.
Referência Rápida — clique para inserir
O que é uma Expressão Regular?
Uma expressão regular (regex ou regexp) é uma sequência de caracteres que define um padrão de busca. São usadas para busca em strings, validação, extração de texto e substituição. Regex é suportado em praticamente todas as linguagens de programação e é uma ferramenta essencial para qualquer desenvolvedor que trabalha com processamento de texto.
Referência Rápida de Sintaxe Regex
.— Corresponde a qualquer caractere exceto nova linha^/$— Início / fim da string (ou linha no modo multilinha)*/+/?— 0 ou mais / 1 ou mais / 0 ou 1{n,m}— Entre n e m repetições[abc]— Classe de caracteres — corresponde a a, b ou c[^abc]— Classe de caracteres negada(abc)— Grupo de captura(?:abc)— Grupo sem captura\d/\w/\s— Dígito / caractere de palavra / espaço em brancoa|b— Alternância — corresponde a a ou b
Padrões Regex Comuns
- Email:
[\w.+-]+@[\w-]+\.[a-zA-Z]{2,} - URL:
https?://[\w\-._~:/?#[\]@!$&'()*+,;=%]+ - IPv4:
(\d{1,3}\.){3}\d{1,3} - Telefone (BR):
\(?\d{2}\)?[\s.-]?\d{4,5}[\s.-]?\d{4} - Cor hex:
#([a-fA-F0-9]{6}|[a-fA-F0-9]{3}) - Data (AAAA-MM-DD):
\d{4}-\d{2}-\d{2}
Perguntas Frequentes sobre Expressões Regulares
Qual a diferença entre .* e .+ em regex?
O asterisco (*) significa "zero ou mais" do elemento anterior, enquanto o mais (+) significa "um ou mais". O padrão .* corresponde a qualquer string incluindo strings vazias, enquanto .+ requer pelo menos um caractere. Ambos são gananciosos por padrão — correspondem ao máximo possível. Adicione ? para torná-los preguiçosos (corresponder o mínimo possível): .*? e .+?.
O que fazem as flags g, i, m e s em regex?
A flag g (global) encontra todas as correspondências em vez de parar na primeira. A flag i torna a correspondência insensível a maiúsculas/minúsculas. A flag m (multilinha) faz ^ e $ corresponderem ao início e fim de cada linha ao invés da string inteira. A flag s (dotAll) faz o ponto corresponder a caracteres de nova linha. Combine flags conforme necessário: /padrão/gim.
Como corresponder um ponto literal, parênteses ou outros caracteres especiais?
Escape caracteres especiais de regex com uma barra invertida. Um ponto literal é \. (sem a barra invertida, o ponto corresponde a qualquer caractere). Um parêntese literal é \( e \). Outros caracteres que precisam de escape: \ ^ $ | ? * + { } [ ]. Por exemplo, para corresponder a URL example.com literalmente, escreva /example\.com/ — caso contrário, o ponto corresponderia a qualquer caractere.
Qual a diferença entre um quantificador ganancioso e um preguiçoso?
Quantificadores gananciosos (*, +, {n,m}) tentam corresponder ao máximo possível enquanto ainda permitem que o padrão geral funcione. Quantificadores preguiçosos (não-gananciosos) (*?, +?, {n,m}?) correspondem ao mínimo possível. Por exemplo, dado <b>negrito</b>, o ganancioso /<.*>/ corresponde à string inteira, enquanto o preguiçoso /<.*?>/ corresponde apenas a <b>.
Ferramentas Relacionadas para Desenvolvedores
- Explicador de Expressões Cron — analise e entenda a sintaxe cron com os próximos horários de execução
- Localizador de Comandos Git — encontre o comando Git exato para mais de 20 cenários comuns
- Decodificador de JWT — decodifique tokens JWT, inspecione header, payload e claims
- Contador de Tokens de IA — conte tokens para GPT-4o, Claude, Gemini e estime custos
- Ver todas as ferramentas grátis para desenvolvedores