Python

Regex em Python com o módulo re: search, match, findall e sub

Em Python, a biblioteca padrão `re` cobre os principais usos de Regex. Uma prática importante é escrever padrões como raw strings, por exemplo `r"\d+"`, para reduzir conflitos de escape.

Antes de começar: teste cada padrão com exemplos que devem passar e exemplos que devem falhar.

Compile ou use diretamente

Para padrões reutilizados muitas vezes, re.compile() deixa a intenção clara e evita repetir a expressão. Para um uso isolado, você pode chamar re.search() diretamente.

import re
pattern = re.compile(r'\d{3}')
print(bool(pattern.search('pedido 123')))

search, match e fullmatch

search() procura em qualquer posição; match() verifica a partir do início; fullmatch() exige que a string inteira corresponda. Para validação de formatos completos, fullmatch() costuma ser uma escolha segura.

findall para extrair

findall() retorna todas as ocorrências encontradas e é útil para números, códigos, tags e tokens simples.

re.findall(r'\b\d{3}\b', '123 42 999')
# ['123', '999']

sub para substituir

re.sub() aplica transformações em texto. Isso serve para normalização, limpeza e mascaramento.

Cuidado com grupos em findall

Quando a expressão contém grupos capturantes, findall() pode retornar apenas os grupos em vez do match inteiro. Se você só precisa agrupar sem capturar, prefira (?:...).

Próximo passo: teste de verdade

Use o Playground para experimentar a expressão e depois pratique no jogo com feedback de falsos positivos e falsos negativos.

Praticar no jogoTestar no Playground

Continue aprendendo

← Voltar ao hub