Regex para iniciantes: um guia de sobrevivência prático
Expressões regulares parecem como se alguém tivesse jogado o teclado aleatoriamente. Mas, uma vez dominada a sintaxe, torna-se uma das ferramentas mais úteis no arsenal de um desenvolvedor.
Este artigo usa exemplos reais para você começar, sem enrolação.
Caracteres: os blocos básicos
As regex são instruções que “casam com algo”:
a— caractere a\d— qualquer dígito (equivalente a[0-9])\w— qualquer letra, dígito ou underline\s— qualquer espaço em branco (espaço, tab, quebra de linha).— qualquer caractere (exceto quebra de linha)
Combine-os e terá padrões como \d\d\d para “três dígitos”.
Quantificadores: um só não basta
*— 0 ou mais vezes+— 1 ou mais vezes?— 0 ou 1 vez{n}— exatamente n vezes{n,m}— entre n e m vezes
Por exemplo, \d{3}-\d{4} casa com números de telefone como 555-1234.
Âncoras: fixe o padrão em posição
^— início da string$— fim da string\b— limite de palavra
^Error: casa com linhas que começam com “Error:” — ótimo para buscar erros em logs.
Exemplos práticos
Validar email (versão suficiente)
^[\w.+-]+@[\w-]+\.[\w.-]+$
Não é perfeito, mas pega 99% dos erros de digitação.
Extrair domínio de uma URL
https?://([^/]+)
O grupo ([^/]+) captura o domínio.
Normalizar espaços múltiplos
\s+
Substituir por um único espaço.
Validar data ISO
^\d{4}-\d{2}-\d{2}$
Só valida o formato, não a validade (2026-13-99 também passa).
Flags: interruptores
g— globali— ignorar maiúsculasm— multilinhass— ponto casa com quebras de linha
/error/gi busca todas as ocorrências sem diferenciar maiúsculas.
Armadilhas comuns
- Guloso vs preguiçoso —
*é guloso por padrão.<.*>come a linha toda; use<.*?>para casar um de cada vez. - Escape —
.,(,[precisam de\.,\(,\[ - Regex não serve para HTML — use um parser adequado.
Prática
A melhor forma de aprender regex é usar no código. Comece analisando uma linha de log; no próximo projeto você estará escrevendo padrões complexos sem pensar.
Quer praticar online? Experimente nosso testador de regex — destaque em tempo real e visualização de grupos capturados.