Expressões Regulares

As expressões regulares (regex) são uma ferramenta poderosa para manipulação de texto. Elas permitem que você pesquise, valide e manipule strings com base em padrões específicos. Python fornece um módulo chamado re que facilita o uso de expressões regulares. Neste tutorial, vamos explorar o mundo das expressões regulares em Python, entender sua sintaxe e aprender como usá-las para lidar com texto de forma eficaz.

1. Introdução às Expressões Regulares:

Uma expressão regular é uma sequência de caracteres que define um padrão de busca. Por exemplo, o padrão \d{3} corresponde a três dígitos consecutivos. Aqui está uma visão geral de alguns caracteres especiais comuns em expressões regulares:

  • .: Corresponde a qualquer caractere, exceto uma nova linha.
  • \d: Corresponde a um dígito (0-9).
  • \w: Corresponde a qualquer caractere alfanumérico (a-z, A-Z, 0-9, e _).
  • \s: Corresponde a qualquer caractere de espaço em branco (como espaço, tabulação, nova linha).
  • ^: Corresponde ao início da string.
  • $: Corresponde ao final da string.

2. Usando o Módulo re em Python:

Para usar expressões regulares em Python, importamos o módulo re. Existem várias funções úteis disponíveis, como search(), match(), findall(), sub(), entre outras.

Exemplo 1: Correspondência Básica:

import re

padrao = r"\d{3}"
texto = "123 456 789"
correspondencias = re.findall(padrao, texto)
print(correspondencias)  # Saída: ['123', '456', '789']

Neste exemplo, o padrão \d{3} corresponde a três dígitos consecutivos na string texto.

Exemplo 2: Substituição de Padrões:

import re

padrao = r"\b\t\b"
texto = "Olá\tMundo"
novo_texto = re.sub(padrao, " ", texto)
print(novo_texto)  # Saída: "Olá Mundo"

Neste exemplo, o padrão \b\t\b corresponde a tabulações e as substitui por espaços.

3. Meta-caracteres e Quantificadores:

Os meta-caracteres, como *, +, ?, {}, têm significados especiais em expressões regulares.

  • *: Corresponde a zero ou mais ocorrências do padrão anterior.
  • +: Corresponde a uma ou mais ocorrências do padrão anterior.
  • ?: Corresponde a zero ou uma ocorrência do padrão anterior.
  • {n}: Corresponde exatamente a n ocorrências do padrão anterior.
  • {n,}: Corresponde a n ou mais ocorrências do padrão anterior.
  • {n,m}: Corresponde a entre n e m ocorrências do padrão anterior.

Expressões regulares são uma ferramenta poderosa para manipular texto em Python. Elas são amplamente usadas para validação, busca e substituição de padrões em strings. Compreender as expressões regulares pode economizar muito tempo ao lidar com dados de texto complexos.