Neste tutorial, você aprenderá as Expressões regulares e as operações de expressão regular definidas no módulo re em Python. re é a biblioteca padrão do Python que oferece suporte a operações de correspondência de expressão regular.

Expressão regular (regex ou RE para breve) como o nome sugere é uma expressão que contém uma sequência de caracteres que definem um padrão de pesquisa. 

Expressões regulares (às vezes abreviadas para regexp, regex ou re) são uma ferramenta para combinar padrões em texto.

Eles podem realizar em uma única pesquisa o que exigiria várias passagens usando pesquisas de string simples. Como tal, podem ser uma técnica de processamento de strings muito rápida.

Veja um exemplo desta simples Expressão Regular:

\b[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}\b 

Essa expressão pode ser usada para localizar todos os e-mails possíveis em um grande corpo de texto. Isso é útil porque, caso contrário, você terá que percorrer manualmente todo o documento de texto e encontrar cada id de e-mail nele.

Métodos de expressões regulares em Python

O módulo re oferece um conjunto de funções que nos permite pesquisar uma string para uma correspondência:


Função

Descrição

findall()

Retorna uma lista contendo todas as correspondências

compile()

Retorna um objeto regex

search()

Retorna um objeto Match se houver uma correspondência em qualquer lugar da string

split()

Retorna uma lista onde a string foi dividida em cada partida

sub()

Substitui uma ou mais correspondências por uma string

subn()

Semelhante a sub, exceto que retorna uma tupla de 2 itens contendo a nova string e o número de substituições feitas.

group()

Retorna uma tupla contendo todos os subgrupos da correspondência, de 1 até quantos grupos estiverem no padrão

match()

Semelhante à pesquisa, mas apenas pesquisa na primeira linha do texto


Usaremos todos esses métodos uma vez que saibamos como escrever expressões regulares, que aprenderemos na próxima seção.

No Proximo capitulo iremos ver como usar expressões regulares em Python.