Guia completo

Aprender Regex do zero: guia prático e progressivo

Aprenda a pensar em padrões em vez de decorar símbolos. Este guia vai de literais e classes até grupos, flags, lookahead, lookbehind e depuração.

Como usar este guia: leia um conceito, teste o exemplo no Playground e faça uma fase relacionada. Regex fixa muito melhor quando você alterna explicação e prática.

Como ler uma Regex

Leia o padrão da esquerda para a direita e separe mentalmente em blocos. Em ^DEV-\d{4}$, por exemplo, ^ fixa o início, DEV- é literal, \d{4} exige quatro dígitos e $ fixa o fim.

Regex: ^DEV-\d{4}$
Aceita: DEV-2048
Rejeita: XDEV-2048, DEV-20A8, DEV-20480

1. Literais, escapes e o ponto

Caracteres comuns procuram a si mesmos. Alguns símbolos têm função especial e precisam de escape quando você quer tratá-los literalmente. O ponto . representa qualquer caractere, enquanto \. representa um ponto real.

c.t   → cat, cot, c9t
3\.14 → 3.14

2. Classes de caracteres

Colchetes descrevem um conjunto de possibilidades. [ABC] aceita uma das três letras; [A-Z] representa um intervalo; [^0-9] significa qualquer caractere que não seja dígito.

[A-F0-9]   → um dígito hexadecimal em maiúsculo
[^\s]      → um caractere que não seja espaço

3. Atalhos: \d, \w e \s

\d representa dígito, \w representa caractere de palavra e \s representa espaço em branco. As versões maiúsculas, como \D, \W e \S, representam o complemento.

Esses atalhos são úteis, mas verifique a linguagem e o modo Unicode quando o requisito envolver alfabetos, acentos ou caracteres internacionais.

4. Quantificadores

Quantificadores controlam a quantidade do elemento anterior. ? significa zero ou uma vez, * zero ou mais, + uma ou mais, {3} exatamente três e {2,5} de duas a cinco ocorrências.

\d{5}-\d{3} → estrutura de CEP formatado
https?         → http ou https

5. Âncoras e limites

^ e $ são essenciais quando você quer validar a string inteira. Sem elas, uma expressão pode encontrar apenas um trecho dentro de um valor maior e ainda retornar match.

\d{3}   encontra 123 dentro de A123B
^\d{3}$ aceita somente uma string com três dígitos

6. Grupos, captura e alternância

Parênteses agrupam partes do padrão. Um grupo comum, como (INFO|WARN|ERROR), também captura o trecho encontrado. Use (?:...) quando quiser agrupar sem capturar. Grupos nomeados, como (?<ddd>\d{2}), facilitam a leitura.

O jogo agora possui o Raio-X da Regex: quando sua expressão usa grupos de captura, cada grupo é exibido com seu nome ou número e com o trecho correspondente destacado.

Aprofundar em grupos de captura →

7. Flags mais comuns

Flags alteram o modo de execução. i ignora diferença entre maiúsculas e minúsculas; g procura todas as ocorrências; m faz as âncoras trabalharem linha a linha; s permite que o ponto também atravesse quebras de linha.

No Playground você pode testar diferentes flags imediatamente.

8. Lookahead e lookbehind

Lookarounds verificam contexto sem consumir esse contexto como parte do match. (?=...) olha para frente, (?!...) nega o que vem à frente, (?<=...) olha para trás e (?<!...) nega o que vem atrás.

\d+(?= reais)       → captura 150 em "150 reais"
(?<=R\$ )\d+        → captura 150 em "R$ 150"

As fases 21 a 24 do RegexArena praticam essas quatro ideias com feedback visual.

Guia de lookahead · Guia de lookbehind

9. Uma estratégia para construir padrões

  1. Escreva exemplos que devem passar.
  2. Escreva exemplos que precisam falhar.
  3. Comece pelo formato mais simples.
  4. Adicione âncoras e limites.
  5. Execute contra os casos negativos.
  6. Só depois compacte ou generalize o padrão.

O objetivo não é produzir a menor Regex possível. Em sistemas reais, legibilidade e previsibilidade geralmente valem mais do que alguns caracteres economizados.

10. Como depurar quando “quase funciona”

Quando uma expressão captura demais, descubra qual parte ficou permissiva. Quando captura de menos, procure uma restrição exagerada. Grupos de captura ajudam a dividir o problema. O Raio-X do jogo mostra visualmente quais grupos capturaram quais trechos, tornando esse diagnóstico mais direto.

(?<usuario>[\w.-]+)@(?<dominio>[\w.-]+)\.(?<tld>[A-Za-z]{2,})

11. Regex em produção

Regex é excelente para busca, extração, transformação e validação estrutural. Mas não substitui regras de negócio. Uma Regex consegue verificar o formato visual de CPF, CEP ou data; isso não significa que o valor exista ou seja semanticamente válido.

Também evite padrões excessivamente complexos quando uma função da linguagem ou uma biblioteca especializada resolver o problema de forma mais segura e legível.

12. Próximos passos

Depois dos fundamentos, escolha um caso real: e-mail, CPF, CEP, telefone, datas, URLs, JavaScript ou Java. Em seguida, use os exercícios e o jogo para testar se você consegue construir os padrões sem copiar a solução.

Pratique agora

O jogo possui 24 fases progressivas, incluindo quatro missões avançadas sobre lookahead e lookbehind.

Começar as fasesVer exercícios