Blog

Postado em em 4 de outubro de 2021

Regular Expressions no Python – REGEX

Nessa aula eu quero te mostrar um pouco sobre Regular Expressions no Python para você conseguir analisar padrões em strings!

Caso prefira esse conteúdo no formato de vídeo-aula, assista ao vídeo abaixo ou acesse o nosso canal do YouTube!

Para receber por e-mail o(s) arquivo(s) utilizados na aula, preencha:

Regular Expressions Python

Você sabe o que é o Regex Python? É a contração conhecida para Regular Expressions no Python, mas o que é isso?

É uma forma bem útil e eficiente para coletar informações em strings, encontrar padrões de textos no Python.

Vou dar um exemplo que vai ficar bem claro! Verificação de e-mail e senha, isso é algo bem comum e conseguimos verificar se tem um padrão específico ali.

Já viu quando você digita um e-mail fora do formato ou uma senha que não tem o padrão pedido? Essa é uma verificação possível com o Regex!

Sair do Zero em Regular Expressions

A ideia dessa aula é te dar uma breve introdução para sair do zero em Regex e te ensinar o básico para que você possa fazer sua análise de dados no Python.

Antes de começar nós precisamos fazer a instalação da biblioteca re para podermos utilizar o Regex.

OBS: Vale lembrar que para esse exemplo nós vamos utilizar o Jupyter, então se você ainda não estiver instalado basta clicar aqui que temos um passo a passo de instalação!

Outro ponto importante é que temos o arquivo todo pronto disponível, então isso já vai te ajudar e já temos o link da documentação dessa biblioteca.

Então se você tiver qualquer dúvida pode acessar essa documentação para auxiliar nos seus projetos.

Cartilha com link para documentação
Cartilha com link para documentação

Agora vamos as explicações sobre o que temos na nossa cartilha que vai te ajudar a entender Python Regex!

Regex - Caracteres
Regex – Caracteres

Aqui nós temos um exemplo para buscar um padrão, temos o texto arara e dentro dele vamos utilizar o re.compile para setar um padrão.

Esse padrão é começar com a letra A ter 3 letras quais que não seja uma nova linha (representada pelo ponto) e termine com a letra A.

Isso quer dizer que vamos buscar por um padrão de 5 letras que comece em A e termine em A.

OBS: Você deve ter notado que antes do nosso texto ‘a…a’ nós colocamos um r antes. Isso é para que o Python leia o texto exatamente como está e não leia nenhum comando especial que possa vir a aparecer, pois temos a \ que busca um caractere que está logo a direita. Só que quando utilizando \n dentro do texto isso é um comando para pular uma linha e não é isso que queremos. Por isso precisamos colocar a letra r antes.

Dessa forma vamos poder encontrar padrão de strings no nosso texto!

Mais exemplos de caracteres
Mais exemplos de caracteres

Outro exemplo que temos para os caracteres é o ^ e o [^] que vai testar o início da  string e vai verificar todos os caracteres exceto o escolhido.

No primeiro exemplo temos [^a], isso quer dizer que vamos considerar todos os caracteres dessa string menos a letra a.

Já no segundo exemplo estamos testando apenas o início da string se ela começa com a letra a ou não.

Métodos para Checagem
Métodos para Checagem

Aqui nós temos alguns métodos para chegar algumas informações, aqui com o método match nós vamos verificar se o texto ou letra foi encontrado e vamos ter também a posição dele.

OBS: Você pode notar que nesse caso temos o mesmo resultado para o método match e Search, no entanto isso acontece porque o match ele só busca no início da string, enquanto o search procura em toda a string, então dependendo do que for buscar o resultado pode ser o mesmo.

Em seguida nós criamos um iterador com o check_finditer = t.finditer(texto), e ao cria-lo nós podemos utilizá-lo com um for, assim vamos poder buscar ao longo do texto.

Por exemplo quando temos o span=(0,1) quer dizer que a letra a foi encontrada na posição 0 até a posição 1 (que não está incluída), então está na posição 0, na posição 2 e 4.

Lembrando que no Python a posição da nossa string vai sempre começar no 0, por isso temos essas letras nas posições 0, 2 e 4.

Então aqui já vamos verificar o que estamos procurando e já vamos ter a posição onde está a nossa busca!

Character Set
Character Set

Outro exemplo interessante ainda utilizando o iterador para procurar em toda a string, nós podemos fazer uma distinção entre letras maiúsculas e minúsculas e uma distinção de números.

Então estamos procurando de a até z tanto em maiúsculo quanto minúsculo, e procurando os valores de 0 até 9.

E novamente vamos ter o match do que estamos procurando e a posição dessa informação, como temos um texto que já começou na segunda linhas você vai notar que nosso primeiro match foi na posição 1 ao invés de ser na posição 0.

Regular Expressions no Python
Quantificadores

Aqui temos os quantificadores, ainda utilizando a iteração para poder passar por toda a string.

Aqui temos 3 tipos, podemos verificar 0 ou mais ocorrências, 1 ou mais ocorrências e 0 ou uma ocorrência.

Assim podemos saber como foi a ocorrência e em qual posição ela aconteceu para facilitar novamente para quando formos fazer qualquer tratamento, seja para pegar essa informação, substituir…

Regular Expressions no Python
Verificação de e-mails

Para finalizar nós vamos abordar o Regex de e-mails, para que nós possamos obter os -e-mails dessa string que nós temos.

No primeiro bloco dentro do nosso re.compile vamos verificar se tem letras (maiúsculas ou minúsculas), números, underline, ponto, mais e menos.

Já o + fora significa que vamos ter que ter pelo menos uma ocorrência antes do @, seja qualquer um dos caracteres que colocamos na verificação.

Em seguida vamos verificar o que temos no domínio que pode conter letras (maiúsculas e minúsculas), números, traço e ponto. Novamente vamos colocar o + do lado de fora para informar que vamos querer pelo menos 1 ocorrência.

Com isso nós já conseguimos buscar todos os e-mails com os seus devidos domínios completos!

IMPORTANTE: Aqui mostramos alguns exemplos para que você saiba como utilizar o Regular Expressions no Python, mas na cartilha que disponibilizamos deixamos alguns exemplos extras e o link para a documentação caso você tenha alguma dúvida!

Conclusão

Nessa aula eu te mostrei alguns exemplos de Regular Expressions (Regex) no Python para que você saiba como encontrar alguns padrões e buscar informações dentro de strings.

Dessa forma vai conseguir fazer suas validações em e-mails, senhas, textos em geral para saber se contém o formato desejado!

Hashtag Treinamentos

Para acessar outras publicações de Python, clique aqui!


Quer aprender mais sobre Python com um minicurso gratuito?


Quer participar do maior evento de Power BI da América Latina de forma 100% Online e Gratuita? Inscreva-se abaixo!