Pular para o conteúdo principal
DevTools by Decussi
  • Ferramentas
  • Dados
  • Segurança
  • Rede
  • Texto
  • Data
  • Web
  • Dev
  • SEO
  • Brasil
Ferramentas
DevTools

Ferramentas para desenvolvedores, em português. Sem cadastro e sem instalação.

Criado e mantido por Decussi

Ferramentas

  • Todas as ferramentas
  • Dados
  • Segurança
  • Rede
  • Texto
  • Data
  • Web
  • Dev
  • SEO
  • Brasil

Referência

  • Consulta rápida
  • Guias
  • Códigos HTTP
  • Cron
  • Checagens de SEO

Desenvolvedores

  • API e devs
  • llms.txt
  • ai.txt
  • Sitemap

Newsletter

Receba novidades e novas ferramentas no seu email.

Sugira uma ferramenta

Tem uma ideia? Envie sua sugestão.

  1. Início
  2. /Consulta rápida
  3. /Sintaxe de regex

Sintaxe de regex

A sintaxe completa em uma página, com o significado de cada símbolo e os padrões prontos que se usa sempre.

35 itens em 7 seções

Classes de caractereQuantificadoresÂncoras e limitesGruposLookaroundFlagsPadrões prontos

Classes de caractere

.
Qualquer caractere, exceto quebra de linha (com a flag s, também a quebra)
\d \D
Dígito de 0 a 9; a maiúscula nega, ou seja, qualquer coisa que não seja dígito
\w \W
Letra, dígito ou sublinhado; a maiúscula nega
\s \S
Espaço, tabulação ou quebra de linha; a maiúscula nega
[abc] [^abc]
Um dos caracteres listados; com circunflexo dentro, qualquer um que não esteja na lista
[a-z0-9]
Intervalo: qualquer letra minúscula ou dígito

Quantificadores

*
Zero ou mais vezes
+
Uma ou mais vezes
?
Zero ou uma vez (torna opcional)
{3} {2,5} {2,}
Exatamente 3; entre 2 e 5; 2 ou mais
*? +? ??
Versão preguiçosa: casa o mínimo possível em vez do máximo
*+ ++
Possessivo: casa o máximo e não devolve; evita explosão de retrocesso

Âncoras e limites

^ $
Começo e fim do texto; com a flag m, de cada linha
\b \B
Limite de palavra; a maiúscula é o oposto, dentro de uma palavra
\A \z
Começo e fim absolutos do texto, ignorando a flag m (não existe em JavaScript)

Grupos

(abc)
Grupo de captura; vira $1 na substituição
(?:abc)
Agrupa sem capturar — use quando só precisa aplicar um quantificador
(?<nome>abc)
Grupo nomeado; recuperado por nome em vez de número
a|b
Alternativa: casa a ou b
\1
Retrovisor: repete o que o grupo 1 casou

Lookaround

(?=abc)
Lookahead positivo: exige que venha abc à frente, sem consumir
(?!abc)
Lookahead negativo: exige que não venha abc à frente
(?<=abc)
Lookbehind positivo: exige que abc venha antes
(?<!abc)
Lookbehind negativo: exige que abc não venha antes

Flags

g
Global: encontra todas as ocorrências, não só a primeira
i
Ignora maiúsculas e minúsculas
m
Multilinha: ^ e $ passam a valer por linha
s
Faz o ponto casar também a quebra de linha
u
Modo Unicode; necessário para \p{...} e para emoji

Padrões prontos

^\d{5}-?\d{3}$
CEP, com ou sem hífen
^\d{3}\.?\d{3}\.?\d{3}-?\d{2}$
CPF no formato, com ou sem pontuação (não valida o dígito)
^[A-Z]{3}\d[A-Z0-9]\d{2}$
Placa Mercosul
^\(?\d{2}\)?\s?9?\d{4}-?\d{4}$
Telefone brasileiro com DDD, fixo ou celular
^[^@\s]+@[^@\s]+\.[^@\s]{2,}$
E-mail em verificação prática — a regex completa da RFC é impraticável
^#?([\da-f]{3}|[\da-f]{6})$
Cor hexadecimal de 3 ou 6 dígitos

Perguntas frequentes

Por que minha regex fica lenta em textos grandes?
Quase sempre é retrocesso catastrófico: quantificadores aninhados como (a+)+ fazem o motor testar um número explosivo de combinações. Troque por classes mais específicas ou use quantificadores possessivos onde a linguagem oferecer.
Quando usar grupo sem captura?
Sempre que o grupo existir só para agrupar. Grupos de captura ocupam posição na numeração e custam memória; (?:...) deixa a expressão mais rápida e a numeração mais previsível.
Dá para validar CPF com regex?
Só o formato. O dígito verificador exige aritmética, que regex não faz. O padrão confere a máscara e o cálculo fica no código — ou no validador de CPF do site.

Ferramentas relacionadas

  • Testador de regex
  • Regex brasileiras prontas
  • Escape / Unescape

Outras consultas rápidas

  • Comandos Git
  • Comandos Docker
  • Tabela chmod
  • Comandos curl
  • Comandos SQL
  • Comandos Linux
  • Sintaxe Markdown