Referência e Visualizador de Regex
Aprenda os símbolos das expressões regulares, quebre um padrão em partes explicadas em português e teste-o no seu próprio texto. Tudo roda no seu navegador.
Referência rápida
. Qualquer caractere, menos quebra de linha Exemplo: a.c\d Um dígito (0-9) Exemplo: \d+\D Qualquer caractere que não seja dígito Exemplo: \D+\w Um caractere de palavra (a-z, A-Z, 0-9, _) Exemplo: \w+\W Qualquer caractere que não seja de palavra Exemplo: \W+\s Um espaço em branco Exemplo: \s+\S Qualquer caractere que não seja espaço em branco Exemplo: \S+^ Início do texto Exemplo: ^hello$ Fim do texto Exemplo: world$\b Uma fronteira de palavra Exemplo: \bword\b\B Uma posição que não é fronteira de palavra Exemplo: \Bword\B[abc] Conjunto de caracteres Exemplo: [abc]+[^abc] Conjunto negado Exemplo: [^abc]+[a-z] Conjunto de caracteres Exemplo: [a-z0-9]+(abc) Grupo de captura Exemplo: (abc)(?:abc) Grupo sem captura Exemplo: (?:abc)+(?<n>) Grupo nomeado Exemplo: (?<year>\d{4})\1 Retrorreferência Exemplo: (\w)\1a|b Alternativa Exemplo: cat|dog? Opcional (0 ou 1) Exemplo: colou?r* Repete 0 ou mais vezes Exemplo: a*+ Repete 1 ou mais vezes Exemplo: a+{m,n} Repete um número determinado de vezes Exemplo: a{2,4}+? O mesmo, mas o mais curto possível Exemplo: <.+?>(?=) Só se vier seguido de Exemplo: foo(?=bar)(?!) Só se não vier seguido de Exemplo: foo(?!bar)(?<=) Só se vier precedido de Exemplo: (?<=\$)\d+(?<!) Só se não vier precedido de Exemplo: (?<!\$)\d+\. Trata o próximo caractere como literal Exemplo: 3\.14\n Uma quebra de linha Exemplo: line\n\t Uma tabulação Exemplo: \tindentedPadrões de validação comuns
| Uso | Padrão | Descrição | Casa com |
|---|---|---|---|
| Endereço de e-mail | ^[\w.-]+@[\w.-]+\.[a-zA-Z]{2,6}$ | Valida o formato comum de um endereço de e-mail. | user@example.com |
| Telefone (EUA) | ^\(?\d{3}\)?[-.\s]?\d{3}[-.\s]?\d{4}$ | Casa números de 10 dígitos com ou sem traços, espaços ou parênteses. | 123-456-7890 |
| CEP (EUA) | ^\d{5}(-\d{4})?$ | Casa códigos postais de 5 e de 9 dígitos. | 90210-1234 |
| Data (AAAA-MM-DD) | ^\d{4}-\d{2}-\d{2}$ | Casa um formato numérico simples de data. | 2026-09-16 |
| Endereço IP (IPv4) | ^(?:[0-9]{1,3}\.){3}[0-9]{1,3}$ | Casa o formato de um endereço IPv4, sem verificar se cada parte está entre 0 e 255. | 192.168.1.1 |
Estes padrões conferem o formato de um valor, não se ele existe. Um endereço pode casar perfeitamente com o padrão de e-mail e mesmo assim não existir, então use-os para pegar erros de digitação cedo, nunca como validação única.
O que esta ferramenta oferece
Uma referência compacta dos símbolos de expressões regulares, uma quebra que transforma o padrão em frases comuns e um testador que mostra o que o padrão casa no seu próprio texto.
Quando usar
Use enquanto escreve um padrão, enquanto lê o padrão de outra pessoa ou enquanto ensina o básico de regex a alguém da equipe. Ler o padrão em voz alta, pedaço por pedaço, costuma ser o que faz a ficha cair.
Limitações
A explicação segue as expressões regulares do JavaScript, que é o que o seu navegador executa. Outros dialetos diferem: PCRE, Python, Java e .NET acrescentam sintaxe própria, e ferramentas POSIX como grep e sed usam uma sintaxe mais antiga e menor. O testador roda o seu padrão numa thread separada e o interrompe depois de alguns segundos, então um padrão que retrocede sem parar não trava a página.
Como usar a referência
Busque um símbolo, ou cole um padrão e leia uma parte de cada vez.
- Percorra ou busque na lista de símbolos.
- Cole um padrão para vê-lo dividido em segmentos.
- Digite um texto de exemplo para ver o que realmente casa e ajuste o padrão.
Perguntas frequentes
Esta ferramenta envia meus padrões para algum lugar?
Não. Tanto a explicação quanto a busca de ocorrências rodam no seu navegador, e nem o padrão nem o texto são enviados a lugar nenhum.
Qual dialeto de regex ela segue?
O do JavaScript, que é o motor que faz o trabalho. A maior parte do que está aqui — classes de caracteres, grupos, quantificadores, âncoras — é igual em todos os dialetos.
Posso testar meu padrão aqui?
Pode. Digite um texto na caixa de teste e as ocorrências aparecem destacadas, com os grupos capturados listados em cada uma.
Por que meu padrão foi interrompido?
Alguns padrões levam tempo exponencial num texto que quase casa — um quantificador dentro de outro, como (a+)+b, é a causa mais comum. O testador desiste depois de alguns segundos em vez de travar a página, e essa interrupção já é um aviso útil: o mesmo padrão travaria um servidor.
Wikipedia — Regular expression
Wikipedia — PCRE
Wikipedia — Finite-state machine
Wikipedia — ReDoS
Wikipedia — Backtracking