Expressões Regulares em Python: Guia Completo para Iniciantes

Treinador Online de Python para Iniciantes

Aprenda Python facilmente sem sobrecarga teórica. Resolva tarefas práticas com verificação automática e escreva código diretamente no navegador.

Start Course

Introdução às Expressões Regulares em Python

Trabalhar com texto é uma das tarefas mais comuns na programação. As expressões regulares se tornam uma ferramenta indispensável para resolver diversos problemas, como fazer parsing de páginas HTML, validar formatos de dados ou processar arquivos de log.

Em Python, o módulo embutido re é usado para trabalhar com expressões regulares. Neste guia, vamos detalhar o uso de regex em Python, explorando métodos populares como re.search() e re.sub(), e mostrar sua aplicação prática com exemplos reais.

Fundamentos das Expressões Regulares

O que são e para que servem

Expressões regulares (Regular Expressions ou RegEx) são uma linguagem especial para descrever padrões de busca em textos. Com elas, você pode pesquisar, validar e substituir trechos de texto seguindo regras específicas.

Tarefas típicas resolvidas com regex

As expressões regulares em Python resolvem uma ampla gama de problemas:

  • Validação de e-mails e números de telefone
  • Busca de todos os valores numéricos em um texto
  • Substituição de caracteres indesejados e limpeza de dados
  • Extração de palavras ou frases específicas de textos grandes
  • Parsing de dados estruturados
  • Processamento de logs e arquivos de sistema

Preparando o Ambiente

Importando o módulo re

Antes de começar a usar expressões regulares, é necessário importar o módulo específico:

import re

Símbolos e construções básicas

Para trabalhar eficientemente com regex, é essencial conhecer os símbolos principais e suas funções:

Símbolo Função
. Qualquer caractere, exceto nova linha
\d Qualquer dígito (0-9)
\D Qualquer caractere não dígito
\w Letra, dígito ou sublinhado
\W Qualquer caractere que não seja \w
\s Espaço, tabulação, nova linha
\S Qualquer caractere que não seja espaço
^ Início da string
$ Fim da string
[] Um caractere do conjunto especificado
* Zero ou mais repetições
+ Uma ou mais repetições
{n,m} De n a m repetições

Principais Métodos para Trabalhar com Regex

Método re.search() para encontrar a primeira ocorrência

O método re.search() busca a primeira ocorrência de um padrão em uma string. Ele retorna um objeto Match se encontrar algo, ou None caso contrário.

import re

texto = "Email: exemplo@email.com"
match = re.search(r'\w+@\w+\.\w+', texto)

if match:
    print("E-mail encontrado:", match.group())

Resultado da execução:

E-mail encontrado: exemplo@email.com

Explicação do padrão de busca

Vamos analisar o padrão usado, parte por parte:

  • \w+ — uma ou mais letras, dígitos ou sublinhados
  • @ — o símbolo arroba (elemento obrigatório do e-mail)
  • \. — o ponto (escapado com barra invertida)
  • \w+ — o domínio de nível superior

Método re.findall() para encontrar todas as ocorrências

Quando você precisa encontrar todas as ocorrências de um padrão em um texto, use o método findall(). Ele retorna uma lista com todos os resultados encontrados.

texto = "Preços: 100 reais, 250 reais, 350 reais"
numeros = re.findall(r'\d+', texto)
print(numeros)  # ['100', '250', '350']

Método re.sub() para substituição por padrão

O método re.sub() substitui todas as ocorrências de um padrão por uma string especificada.

texto = "Telefone: (11) 99999-8888"
texto_limpo = re.sub(r'\D', '', texto)
print(texto_limpo)  # '11999998888'

Blogs

Book Recommendations