Como trabalhar com expressões regulares em Python?
As expressões regulares são usadas para buscar padrões em textos, validar entradas e realizar substituições eficientes. O Python possui a biblioteca re, que oferece diversas funcionalidades para trabalhar com expressões regulares.
Importando a biblioteca re
Para utilizar expressões regulares no Python, é necessário importar a biblioteca re:
import re
Buscando padrões em textos
Podemos usar re.search() para encontrar um padrão dentro de uma string:
texto = "Meu e-mail é exemplo@email.com"
resultado = re.search(r'\b[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Z|a-z]{2,}\b', texto)
print(resultado.group())
Este código busca um endereço de e-mail dentro de um texto e o retorna.
Encontrando múltiplos padrões
O método re.findall() retorna todas as ocorrências de um padrão:
texto = "Os valores são 100, 200 e 300."
numeros = re.findall(r'\d+', texto)
print(numeros) # Saída: ['100', '200', '300']
Aqui, \d+ busca por sequências numéricas no texto.
Substituindo padrões em um texto
Podemos utilizar re.sub() para substituir padrões específicos:
texto = "O preço é R$100"
novo_texto = re.sub(r'\d+', 'XXX', texto)
print(novo_texto) # Saída: O preço é R$XXX
Esse método substitui qualquer número por XXX.
Por que aprender expressões regulares no Python?
Expressões regulares são amplamente utilizadas para manipulação de textos, validação de formulários e extração de informações em análise de dados e web scraping.
Algumas aplicações:
- Validação de e-mails, telefones e senhas.
- Extração de informações em textos e logs.
- Manipulação de grandes volumes de dados textuais.
- Otimização de buscas e substituições complexas.
Dicas para quem está começando
- Use
re.match()para verificar se um texto começa com um padrão específico. - Experimente
re.compile()para reutilizar expressões regulares e melhorar o desempenho. - Explore
re.split()para dividir strings com base em padrões. - Teste suas expressões em ferramentas online como regex101.
Pedro Vasconcellos
Especialista em automação de processos e desenvolvimento de scripts com Python.
Mais sobre o autor