Módulo re: pesquisa, correspondência, localização e substituição
re.search(), re.match(), re.findall(), re.sub() e re.compile() para obter desempenho.
Módulo re: pesquisa, correspondência, localização e substituição é uma aula grátis de Learn AI with Python no CoddyKit. Esta é a aula 2 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de Learn AI with Python, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de Learn AI with Python inclui 4 aulas no total.
O módulo re
O Python disponibiliza expressões regulares por meio do módulo integrado re. As funções principais são search, match, findall e sub.
Saber qual escolher é metade do caminho.
import re # always import it firstre.search — encontrar em qualquer posição
re.search(pattern, text) examina a cadeia de caracteres inteira em busca da primeira correspondência e retorna um objeto de correspondência ou None se nada corresponder.
import re
m = re.search("\d+", "order 42 shipped")
if m:
print(m.group()) # "42"
print(m.start()) # 6re.match — ancorado no início
re.match só procura uma correspondência no início da cadeia de caracteres. Se o padrão não estiver na posição 0, retorna None, mesmo que apareça mais adiante.
import re
print(re.match("\d+", "42 items")) # matches "42"
print(re.match("\d+", "items 42")) # Nonesearch vs match
A diferença principal:
match— o padrão deve começar no índice 0search— o padrão pode aparecer em qualquer posição
Na maioria das vezes, você vai querer search. Use match apenas quando precisar especificamente verificar um prefixo.
re.findall — obter todas as correspondências
re.findall retorna uma lista de todas as correspondências não sobrepostas como cadeias de caracteres, e não como objetos de correspondência. É ideal para tarefas de extração.
import re
emails = re.findall("\w+@\w+\.\w+", "a@x.com and b@y.org")
print(emails) # ["a@x.com", "b@y.org"]findall com grupos
Se o padrão tiver grupos de captura, findall retornará as partes capturadas em vez da correspondência inteira — uma surpresa comum.
Aqui, cada tupla contém o código de área e o restante.
import re
print(re.findall("(\d{3})-(\d{4})", "555-1234 and 999-8765"))
# [("555", "1234"), ("999", "8765")]re.finditer — objetos de correspondência
Quando você precisa das posições ou dos grupos de cada correspondência, use re.finditer. Ele fornece objetos de correspondência que podem ser percorridos sob demanda.
import re
for m in re.finditer("\d+", "a1 b22 c333"):
print(m.group(), "at", m.start())re.sub — pesquisar e substituir
re.sub(pattern, replacement, text) substitui todas as correspondências pela cadeia de substituição e retorna uma nova cadeia de caracteres.
É fundamental para a limpeza de texto — mascaramento, normalização e remoção.
import re
clean = re.sub("\d+", "#", "Room 101 and 202")
print(clean) # "Room # and #"sub com referências retroativas e funções
A substituição pode referenciar grupos capturados com \1 ou ser uma função para implementar uma lógica dinâmica.
import re
# Swap "first last" -> "last, first"
print(re.sub("(\w+) (\w+)", "\\2, \\1", "Ada Lovelace"))
# Function replacement: double each number
print(re.sub("\d+", lambda m: str(int(m.group()) * 2), "a1 b2"))re.compile — reutilizar padrões
Quando você usa um padrão muitas vezes, por exemplo, em um laço, re.compile o cria uma vez em um objeto de padrão reutilizável. Isso é mais rápido e deixa o código mais claro.
import re
num = re.compile("\d+")
for line in ["a1", "b22", "c333"]:
print(num.findall(line))Sinalizadores úteis
Os sinalizadores alteram o comportamento da correspondência:
re.IGNORECASE— ignora maiúsculas e minúsculasre.MULTILINE—^/$correspondem a cada linhare.DOTALL—.também corresponde a quebras de linha
import re
print(re.findall("cat", "Cat CAT cat", re.IGNORECASE))
# ["Cat", "CAT", "cat"]Verificação rápida: search vs findall
Você precisa de uma lista de todos os números de telefone que aparecem em qualquer posição de um documento.
Recapitulação: o módulo re
Agora você conhece as principais funções de regex:
re.search— primeira correspondência em qualquer posição (objeto de correspondência)re.match— correspondência apenas no iníciore.findall— lista de todas as correspondências (os grupos alteram a saída)re.finditer— objetos de correspondência com posiçõesre.sub— substitui correspondências, com referências retroativas ou uma funçãore.compilee sinalizadores para reutilização e controle
Próximo: grupos de captura e grupos nomeados.
Perguntas Frequentes
A aula “Módulo re: pesquisa, correspondência, localização e substituição” é grátis?
Sim — o texto completo de “Módulo re: pesquisa, correspondência, localização e substituição” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de Learn AI with Python, atualize para CoddyKit PRO. O curso de Learn AI with Python inclui 4 aulas no total.
O que vou aprender em “Módulo re: pesquisa, correspondência, localização e substituição”?
re.search(), re.match(), re.findall(), re.sub() e re.compile() para obter desempenho. Você pratica Learn AI with Python com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.
Preciso ter experiência prévia para começar Learn AI with Python?
Nenhuma experiência prévia é necessária. Learn AI with Python no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 2 de 4.
Quanto tempo leva a aula “Módulo re: pesquisa, correspondência, localização e substituição”?
A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.
Posso escrever e executar código nesta aula de Learn AI with Python?
Sim. Cada aula de Learn AI with Python inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.
Todas as aulas deste curso
- Padrões de expressões regulares e classes de caracteres
- Módulo re: pesquisa, correspondência, localização e substituição
- Grupos de captura e grupos nomeados
- Limpeza de texto para IA com expressões regulares