
Expressões Regulares em Python: Guia Prático para Iniciantes
As expressões regulares (regex) são ferramentas poderosas para trabalhar com texto, permitindo buscar, validar e manipular padrões de forma eficiente. Se você já precisou validar um email, encontrar números em uma string ou substituir palavras em um texto, regex é a solução.
Neste artigo, você vai aprender os principais conceitos e como aplicar expressões regulares em Python na prática.
O que são Expressões Regulares?
Expressões regulares são padrões de busca em texto. Elas descrevem formatos específicos que podem ser usados para localizar ou manipular dados.
Exemplo simples:
import re
texto = "Meu número é 12345"
padrao = r"\d+" # busca por um ou mais dígitos
resultado = re.findall(padrao, texto)
print(resultado) # ['12345']
Aqui, \d+ significa “um ou mais dígitos consecutivos”.
Principais Metacaracteres em Regex
.→ corresponde a qualquer caractere\d→ corresponde a dígitos (0–9)\w→ letras, números e underline\s→ espaços em branco*→ zero ou mais ocorrências+→ uma ou mais ocorrências?→ zero ou uma ocorrência{n,m}→ repetições de n até m vezes|→ OU lógico^→ início da string$→ final da string
Exemplo:
texto = "email: [email protected]"
padrao = r"\w+@\w+\.\w+"
print(re.findall(padrao, texto)) # ['[email protected]']
Funções mais usadas do módulo re
O Python possui o módulo re, que traz várias funções úteis:
1. re.match()
Verifica se o padrão aparece no início da string.
print(re.match(r"\d+", "123abc")) # encontra
print(re.match(r"\d+", "abc123")) # não encontra
2. re.search()
Procura a primeira ocorrência em qualquer parte da string.
print(re.search(r"\d+", "abc123").group()) # 123
3. re.findall()
Retorna todas as correspondências como lista.
print(re.findall(r"\d+", "abc123 xyz456")) # ['123', '456']
4. re.sub()
Substitui padrões encontrados por outro valor.
texto = "Python é incrível!"
print(re.sub(r"incrível", "poderoso", texto))
# Saída: Python é poderoso!
Validando dados com regex
Regex é muito útil para validar informações como emails, CEPs ou telefones.
Exemplo de validação simples de email:
email = "[email protected]"
padrao = r"^[\w\.-]+@[\w\.-]+\.\w+$"
if re.match(padrao, email):
print("Email válido")
else:
print("Email inválido")
Quando usar Expressões Regulares?
✅ Quando você precisa:
- Extrair informações de textos (ex.: números, emails, datas).
- Validar formatos (ex.: CEP, CPF, telefone).
- Substituir trechos em massa em documentos ou logs.
❌ Evite regex quando a lógica pode ser resolvida com métodos de string mais simples (split, replace, startswith), pois regex pode ser mais custoso e difícil de ler.
Conteúdo adaptado do capítulo “Expressões Regulares” do livro Python Fluente de Luciano Ramalho.