Expressões Regulares (Regex)
O que são Expressões Regulares?
As Expressões Regulares (ou Regex) são sequências de caracteres que formam um padrão de busca. Elas são uma ferramenta poderosa para encontrar, validar, extrair e manipular texto de forma precisa e eficiente.
Conceitos Básicos
Metacaracteres Fundamentais
.- Corresponde a qualquer caractere (exceto quebra de linha)*- Zero ou mais ocorrências do caractere anterior+- Uma ou mais ocorrências do caractere anterior?- Zero ou uma ocorrência do caractere anterior^- Início da linha$- Fim da linha[]- Conjunto de caracteres()- Grupo de captura|- Operador OU
Classes de Caracteres
\d- Qualquer dígito (0-9)\w- Qualquer caractere de palavra (a-z, A-Z, 0-9, _)\s- Qualquer espaço em branco\D- Qualquer não-dígito\W- Qualquer não-caractere de palavra\S- Qualquer não-espaço em branco
Exemplos Práticos
-
Validação de E-mail
Padrão básico para validar endereços de e-mail:
Explicação: -
^- Início da string -[a-zA-Z0-9._%+-]+- Um ou mais caracteres válidos antes do @ -@- O símbolo @ literal -[a-zA-Z0-9.-]+- Um ou mais caracteres válidos para o domínio -\.- O ponto literal -[a-zA-Z]{2,}- Pelo menos 2 letras para a extensão -$- Fim da string -
Telefone Brasileiro
Padrão para telefones brasileiros com DDD:
Explicação: -
^\(?- Início, parêntese opcional -([1-9]{2})- DDD com 2 dígitos de 1-9 -\)?\s?- Parêntese de fechamento e espaço opcionais -9?- Nono dígito opcional (celular) -[0-9]{4}-?[0-9]{4}$- 4 dígitos, hífen opcional, 4 dígitos -
CPF
Padrão para validar formato de CPF:
Explicação: -
^\d{3}- Início com 3 dígitos -\.?- Ponto opcional -\d{3}- 3 dígitos -\.?- Ponto opcional -\d{3}- 3 dígitos --?- Hífen opcional -\d{2}$- 2 dígitos e fim -
URL/Link
Padrão para validar URLs:
^https?:\/\/(www\.)?[-a-zA-Z0-9@:%._\+~#=]{2,256}\.[a-zA-Z0-9()]{1,6}\b([-a-zA-Z0-9()@:%_\+.~#?&\/=]*)$Explicação: -
^https?- Protocolo HTTP ou HTTPS -:\/\/- :// -(www\.)?- www. opcional -[-a-zA-Z0-9@:%._\+~#=]{1,256}- Domínio -\.- Ponto literal -[a-zA-Z0-9()]{1,6}- Extensão do domínio - Resto: parâmetros e caminhos opcionais -
Data (DD/MM/AAAA)
Padrão para datas no formato brasileiro:
Explicação: -
^(0[1-9]|[12][0-9]|3[01])- Dia de 01 a 31 -\/- Barra literal -(0[1-9]|1[0-2])- Mês de 01 a 12 -\/- Barra literal -([0-9]{4})$- Ano com 4 dígitos -
Horário (HH:MM)
Padrão para horários em formato 24h:
Explicação: -
^([01]?[0-9]|2[0-3])- Horas de 00 a 23 -:- Dois pontos literal -[0-5][0-9]$- Minutos de 00 a 59
Exemplos Avançados
-
Extrair Tags HTML
Padrão para extrair conteúdo de tags HTML:
Funcionalidade: Captura tags HTML completas com seus conteúdos
-
Endereço IP
Padrão para validar endereços IPv4:
Funcionalidade: Valida IPs de 0.0.0.0 a 255.255.255.255
-
Senha Forte
Padrão para validar senhas seguras:
Requisitos: Mínimo 8 caracteres, maiúscula, minúscula, número e símbolo
Dicas Importantes
✅ Boas Práticas
- Teste sempre suas regex com diferentes casos
- Use grupos para capturar partes específicas
- Seja específico - evite padrões muito genéricos
- Documente regex complexas com comentários
⚠️ Cuidados
- Performance - regex complexas podem ser lentas
- Escape caracteres especiais quando necessário
- Validação completa - regex não substitui validação de negócio
- Legibilidade - prefira clareza à brevidade extrema
Ferramentas Úteis
-
Regex101
Melhor ferramenta online para testar e debugar expressões regulares
-
RegexLearn
Tutorial interativo para aprender regex passo a passo
-
RegexLib
Biblioteca de expressões regulares prontas para uso
🎯 Próximos Passos
- Pratique com os exemplos no Regex101
- Experimente modificar os padrões
- Crie suas próprias regex para casos específicos
- Compartilhe suas descobertas com a comunidade
Esta página faz parte do projeto CODAQUI - uma iniciativa para democratizar o conhecimento em tecnologia.