Agora que vimos o suficiente de metacaracteres, veremos como alguns dos métodos de RE funcionam. Primeiro, vamos começar com re.compile

re.compile()

Podemos combinar um padrão de expressão regular em objetos padrão, que podem ser usados para correspondência de padrões. Também ajuda pesquisar um padrão novamente sem reescrevê-lo. Aqui está um exemplo:


Resultado

    ['Usando', 'Python', 'Python']


re.search()

A função re.search pesquisa a string por uma correspondência e retorna um objeto Match se houver uma correspondência. Se houver mais de uma correspondência, apenas a primeira ocorrência da correspondência será retornada. Aqui está um exemplo:

Resultado

    <re.Match object; span=(27, 35), match='angolano'>


re.split()

A função re.split retorna uma lista onde a string foi dividida em cada correspondência:

Resultado

    ['um', 'dois', 'três', 'quatro']


re.sub()

A função re.sub substitui as correspondências com o texto de sua escolha.

Resultado

    usandopython@xxx.com usandopython@yyy.com usandopython@zzz.com


re.subn()

Como mencionado anteriormente, a função re.subn é semelhante à função re.sub, mas retorna uma tupla de 2 itens contendo a nova string e o número de substituições feitas.


Resultado

    ('usandopython@xxx.com usandopython@yyy.com usandopython@zzz.com', 3)


re.match()

A função re.match pesquisará o padrão de expressão regular e retornará a primeira ocorrência. Este método verifica se há correspondência apenas no início da string. Portanto, se uma correspondência for encontrada na primeira linha, ele retornará o objeto de correspondência. Mas se uma correspondência for encontrada em alguma outra linha, ele retornará nulo. Aqui está um exemplo:

Resultado

    <re.Match object; span=(0, 8), match='A página'>

    <re.Match object; span=(0, 15), match='A página Usando'>

    None


re.group()

A função re.group retorna uma correspondência inteira (ou número de subgrupo específico). Podemos mencionar subgrupos em Expressão regular se os colocarmos entre parênteses. Aqui está um exemplo para deixar claro

Resultado

    Primeiro grupo : Python , é mais amigável que Java Segundo grupo : Python , Terceiro grupo : mais