Covil Do Dev

Expressões Regulares em Python

Aprenda a utilizar expressões regulares em Python para realizar buscas e manipulações em strings.

Lindomar Rodrigues

Atualizado

As expressões regulares são sequências de caracteres que definem um padrão de busca em uma string. Elas são amplamente utilizadas em diversas áreas, como processamento de texto, validação de entradas de usuário, extração de informações de arquivos e muito mais.

Neste artigo, vamos explorar como utilizar expressões regulares em Python.

O módulo re

Em Python, o módulo re fornece suporte para o uso de expressões regulares. Para utilizá-lo, é necessário importar esse módulo:

import re

Funções básicas

O módulo re fornece várias funções para trabalhar com expressões regulares. Algumas das mais comuns são:

  • re.match(): verifica se o padrão ocorre no início da string.
  • re.search(): verifica se o padrão ocorre em qualquer posição da string.
  • re.findall(): retorna todas as ocorrências do padrão na string.
  • re.finditer(): retorna um iterador com todas as ocorrências do padrão na string.

Exemplos de uso

Vamos ver alguns exemplos de como utilizar essas funções com expressões regulares em Python.

Verificando se um padrão ocorre no início da string

import re

padrao = r'^abc'  # O r antes do padrão indica que é uma raw string

texto = 'abcdefg'

if re.match(padrao, texto):
    print('Padrão encontrado no início da string')
else:
    print('Padrão não encontrado ou não está no início da string')

Nesse exemplo, estamos verificando se a string começa com o padrão "abc". Se o padrão for encontrado no início da string, a mensagem "Padrão encontrado no início da string" é exibida. Caso contrário, a mensagem "Padrão não encontrado ou não está no início da string" é exibida.

Verificando se um padrão ocorre em qualquer posição da string

import re

padrao = r'abc'

texto = 'abcdefg'

if re.search(padrao, texto):
    print('Padrão encontrado na string')
else:
    print('Padrão não encontrado')

Nesse exemplo, estamos verificando se a string contém o padrão "abc" em qualquer posição. Se o padrão for encontrado, a mensagem "Padrão encontrado na string" é exibida. Caso contrário, a mensagem "Padrão não encontrado" é exibida.

Retornando todas as ocorrências de um padrão na string

import re

padrao = r'abc'

texto = 'abcdefgabcabc'

ocorrencias = re.findall(padrao, texto)

print('Ocorrências encontradas:', ocorrencias)

Nesse exemplo, estamos retornando todas as ocorrências do padrão "abc" na string. O resultado será uma lista com todas as ocorrências encontradas.

Utilizando grupos na expressão regular

Os grupos permitem agrupar partes de uma expressão regular e recuperar essas partes separadamente. Para definir um grupo, utilizamos parênteses.

import re

padrao = r'(abc)(def)'

texto = 'abcdefg'

match = re.match(padrao, texto)

if match:
    grupo1 = match.group(1)
    grupo2 = match.group(2)
    print('Grupo 1:', grupo1)
    print('Grupo 2:', grupo2)
else:
    print('Padrão não encontrado')

Nesse exemplo, estamos definindo dois grupos na expressão regular: um grupo com o padrão "abc" e outro grupo com o padrão "def". Em seguida, estamos tentando fazer um match com a string "abcdefg". Se o match for bem-sucedido, podemos recuperar os grupos utilizando o método group() do objeto match.

Sintaxe das expressões regulares

As expressões regulares possuem uma sintaxe própria. Alguns dos caracteres especiais mais comuns são:

  • .: representa qualquer caractere, exceto uma nova linha.
  • *: representa zero ou mais ocorrências do caractere ou grupo anterior.
  • +: representa uma ou mais ocorrências do caractere ou grupo anterior.
  • ?: representa zero ou uma ocorrência do caractere ou grupo anterior.
  • \: utilizado para escapar caracteres especiais.
  • []: representa um conjunto de caracteres.
  • (): agrupa uma sequência de caracteres.

Existem muitos outros caracteres e combinações que podem ser utilizados em expressões regulares. Para aprender mais sobre a sintaxe das expressões regulares, consulte a documentação oficial do módulo re.

Conclusão

As expressões regulares são uma ferramenta poderosa para manipulação de strings em Python.

Neste artigo, vimos como utilizar o módulo re para trabalhar com expressões regulares, incluindo exemplos de uso das principais funções e da sintaxe das expressões regulares.

Com essas informações, você poderá começar a utilizar expressões regulares em seus projetos Python e aproveitar todas as vantagens que elas oferecem.

Obrigado por visitar o blog e por ler esse artigo, se tive qualquer dúvida, ideia ou sugestão, não hesite em entrar em contato pelo meu e-mail: lindomar@covildodev.com.br