Testador de Regex
Teste suas expressões regulares em tempo real. Veja correspondências destacadas e grupos capturados.
🎯 Resultado (0 correspondências)
📋 Correspondências
Nenhuma correspondência encontrada
📚 O que são Expressões Regulares?
Expressões Regulares (Regex) são padrões usados para encontrar combinações de caracteres em texto. São como uma "linguagem de busca avançada" que funciona em praticamente todas as linguagens de programação.
Criadas na década de 1950, regex são essenciais para validação de formulários, busca e substituição, parsing de logs, extração de dados e muito mais.
📖 Cheatsheet de Regex
| Padrão | Descrição | Exemplo |
|---|---|---|
| . | Qualquer caractere (exceto quebra de linha) | a.c → abc, a1c, a-c |
| \d | Dígito (0-9) | \d3 → 123, 456 |
| \w | Letra, dígito ou underscore | \w+ → palavra_123 |
| \s | Espaço em branco (espaço, tab, quebra) | a\sb → a b, a\tb |
| ^ | Início da string/linha | ^Olá → "Olá mundo" |
| $ | Fim da string/linha | fim$ → "até o fim" |
| * | 0 ou mais repetições | ab*c → ac, abc, abbc |
| + | 1 ou mais repetições | ab+c → abc, abbc (não ac) |
| ? | 0 ou 1 repetição (opcional) | colou?r → color, colour |
| {n,m} | De n a m repetições | \d{2,4} → 12, 123, 1234 |
| [abc] | Qualquer caractere do conjunto | [aeiou] → vogais |
| [^abc] | Qualquer caractere EXCETO esses | [^0-9] → não-dígitos |
| (abc) | Grupo de captura | (\d+)-(\d+) → grupos |
| a|b | Alternativa (a OU b) | gato|cachorro |
🚩 Flags (Modificadores)
- g (global): Encontra todas as correspondências, não apenas a primeira
- i (insensível): Ignora diferença entre maiúsculas e minúsculas
- m (multilinha): ^ e $ funcionam para cada linha, não só início/fim do texto
- s (dotAll): O ponto (.) também corresponde a quebras de linha
- u (unicode): Trata padrões como pontos de código Unicode
⚠️ Erros Comuns
Esquecer de escapar caracteres especiais
// ❌ Errado - . significa "qualquer caractere"
arquivo.txt → match: arquivo1txt, arquivostxt
// ✅ Correto - \. significa ponto literal
arquivo\.txt → match: arquivo.txtRegex muito permissiva para validação
// ❌ Email muito simples - aceita lixo
.+@.+
// ✅ Email mais robusto
[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}Greedy vs Lazy matching
// Texto: <b>negrito</b> e <b>outro</b>
// ❌ Greedy (.* pega o máximo possível)
<b>.*</b> → <b>negrito</b> e <b>outro</b>
// ✅ Lazy (.*? pega o mínimo possível)
<b>.*?</b> → <b>negrito</b>, <b>outro</b>❓ Perguntas Frequentes
Por que minhas barras invertidas não funcionam?
Em strings JavaScript, \ é caractere de escape. Use \\d em strings ou /\d/ na sintaxe literal.
Qual a diferença entre \\d e [0-9]?
Em JavaScript são equivalentes. Em outras linguagens/modos Unicode, \dpode corresponder a dígitos de outros sistemas numéricos (árabe, etc.).
Regex pode validar HTML/JSON/XML?
Não recomendado. Essas linguagens têm estruturas aninhadas que regex não consegue processar corretamente. Use parsers apropriados (DOMParser, JSON.parse) para validação confiável.