Introdução às expressões regulares em Python

Noções básicas de Regex, padrões comuns e exemplos práticos para correspondência de padrões e validação de dados

Aprenda os fundamentos das expressões regulares (regex) em Python. Este tutorial aborda os conceitos básicos, padrões comuns e exemplos práticos para correspondência de padrões e validação de dados usando o módulo re do Python.

Programação
Autor
Afiliação
Data de Publicação

9 de fevereiro de 2024

Data de Modificação

29 de abril de 2025

Palavras-chave

Expressões regulares Python, regex em Python tutorial, correspondência de padrões Python

Introdução

Expressões regulares (regex) são uma ferramenta poderosa para pesquisar, corresponder e manipular texto usando padrões. O módulo re integrado ao Python oferece suporte robusto para regex, permitindo que você execute tarefas complexas de processamento de texto com eficiência. Neste tutorial, abordaremos os conceitos básicos de regex, exploraremos padrões comuns e demonstraremos exemplos práticos de correspondência de padrões e validação de dados.



O que são expressões regulares?

Expressões regulares são sequências de caracteres que definem um padrão de pesquisa. Eles são amplamente usados para tarefas como:

  • Validando entradas (por exemplo, endereços de e-mail, números de telefone)
  • Pesquisando e extraindo padrões específicos de texto
  • Substituindo ou modificando substrings dentro de uma string maior

Sintaxe básica e funções no módulo re do Python

O módulo re do Python oferece várias funções importantes:

  • re.search(): Procura um padrão em qualquer lugar da string.
  • re.match(): Verifica se há correspondência apenas no início da string.
  • re.findall(): Retorna uma lista de todas as correspondências não sobrepostas.
  • re.sub(): Substitui ocorrências de um padrão por uma string especificada.
  • re.split(): Divide uma string pelas ocorrências de um padrão.

Exemplos práticos

Procurando um padrão

Use re.search() para localizar um padrão em uma string:

#| label: regex-search
import re

text = "The quick brown fox jumps over the lazy dog."
pattern = r"fox"
match = re.search(pattern, text)
if match:
    print("Match found:", match.group())
else:
    print("No match found.")

Resultados:

Correspondência encontrada: fox

Encontrando todas as ocorrências

Use re.findall() para extrair todas as correspondências de um padrão:

#| label: regex-findall
import re

text = "apple, banana, cherry, apple, banana"
pattern = r"apple"
matches = re.findall(pattern, text)
print("All matches:", matches)

Resultados:

Todas as correspondências: ['apple', 'apple']

Substituindo padrões

Use re.sub() para substituir padrões correspondentes por uma nova string:

#| label: regex-sub
import re

text = "The price is $100. The discount price is $80."
pattern = r"\$\d+"
new_text = re.sub(pattern, "REDACTED", text)
print("Updated text:", new_text)

Resultados:

Texto atualizado: o preço foi REDIGIDO. O preço com desconto foi REDIGIDO.

Usando grupos para extração

Grupos permitem extrair partes específicas de um padrão:

#| label: regex-groups
import re

text = "My email is alice@example.com."
pattern = r"(\w+)@(\w+\.\w+)"
match = re.search(pattern, text)
if match:
    username, domain = match.groups()
    print("Username:", username)
    print("Domain:", domain)

Resultados:

Nome de usuário: alice
Domínio: example.com

Dicas e melhores práticas

  • Mantenha a simplicidade:
    Comece com padrões simples e aumente gradualmente a complexidade. Expressões regulares muito complexas podem ser difíceis de ler e manter.

  • Teste seus padrões:
    Use ferramentas online como regex101.com para testar e depurar suas expressões regulares de forma interativa.

  • Documente sua expressão regular:
    Ao escrever padrões complexos, adicione comentários ou divida-os em partes menores para maior clareza.

  • Use strings brutas:
    Prefix regex patterns with r to avoid issues with escape sequences (e.g., r'\d+').

Conclusão

As expressões regulares são uma ferramenta indispensável para o processamento de texto em Python. Ao dominar os conceitos básicos e experimentar exemplos práticos, você poderá validar entradas, extrair dados significativos e transformar texto de maneira eficiente para atender às suas necessidades. Com a prática, você descobrirá que regex pode simplificar muito muitas tarefas comuns de processamento de texto.

Leitura adicional

Boa programação e aproveite o poder das expressões regulares em Python!

Explore mais artigos

Nota

Aqui estão mais artigos da mesma categoria para ajudá-lo a se aprofundar no tópico.

placeholder

placeholder
Nenhum item correspondente
De volta ao topo

Reuso

Citação

BibTeX
@online{kassambara2024,
  author = {Kassambara, Alboukadel},
  title = {Introdução às expressões regulares em Python},
  date = {2024-02-09},
  url = {https://www.datanovia.com/pt/learn/programming/python/additional-tutorials/regex.html},
  langid = {pt}
}
Por favor, cite este trabalho como:
Kassambara, Alboukadel. 2024. “Introdução às expressões regulares em Python.” February 9, 2024. https://www.datanovia.com/pt/learn/programming/python/additional-tutorials/regex.html.