Coletânea Python do ZERO às Redes Neurais Artificiais

Fernando Feltrin · Capítulo 145 de 287

Páginas do PDF

Coletânea Python do ZERO às Redes Neurais Artificiais

Métodos de Expressões Regulares

 

Nos tópicos anteriores usamos em meio a nosso entendimento de

metacaracteres a função findall( ), e não por acaso, escolhi usar dela em nossos exemplos pois na prática é a função de expressão regular mais usada.

Avançando um pouco com métodos de expressões regulares, podemos facilmente entender a função re.sub( ).

Uma vez que em expressões regulares estamos realizando um tratamento mais avançado de nossas strings, nada mais comum do que ter uma função dedicada a substituir elementos da mesma, e por meio da biblioteca regex, isso é feito via função sub( ).

 

Usando novamente de nossa variável texto1 e sua string, vimos

anteriormente que um dos nomes citados ao longo do texto era João.

Supondo que quiséssemos substituir todas as instâncias de João no texto por outro nome, Carlos por exemplo, isso seria feito alterando a função findall( ) por sub( ).

Outra particularidade é que como parâmetro dessa função devemos na r’String especificar qual string será substituída e por qual, assim como o nome da variável em questão onde consta toda a string.

 

Como esperado, é retornada toda a string de texto1, com todas as

referências a “João” sobrescritas por “Carlos”.

 

Outra função da biblioteca regex é a match( ), ela basicamente tem

funcionalidade parecida com a de findall( ) porém bem mais limitada.

Enquanto findall( ) como próprio nome sugere, busca em toda a string, match é usada apenas quando queremos verificar a primeira palavra de um texto.

 

Note que no exemplo, reaproveitando nossa variável minha_string de

exemplos anteriores, ao usar da função match( ), parametrizando a r’String com ‘Fernando’, é retornado um objeto fazendo referência ao espaço de memória alocado para o mesmo.

Da mesma forma, tentando buscar outra palavra de outra posição do texto, o retorno sempre será None.

Outra possibilidade interessante é a de separar em partes uma string via

expressão regular. Para isso, da biblioteca regex usaremos da função split( ).

Diferente da função split( ) nativa do Python, que desmembra uma string

caractere por caractere, a função split( ) da biblioteca regex recebe um marcador, normalmente um símbolo especial, para que separe a string em duas partes, uma antes e outra depois deste marcador.

Nesse exemplo, usando uma vírgula como separador para o texto, basta

referenciar a mesma em nossa r’String.

 

O resultado, como esperado, serão duas strings independentes.

 

Outros metacaracteres e funções podem ser encontradas diretamente na

documentação da biblioteca regex, aqui, trouxe apenas as que de fato uso rotineiramente para que você tenha este conhecimento.

Link para documentação oficial da biblioteca regex:

https://docs.python.org/3/library/re.html