Pitão

Expressões regulares em Python

Expressões regulares em Python
Neste artigo, daremos uma breve olhada nas expressões regulares em python. Trabalharemos em funções integradas com exemplos seguidos de uma tabela que explica o que cada caractere significa em uma expressão regular para uma melhor compreensão.

O que é uma expressão regular?

Antes de passarmos para exemplos práticos, precisamos saber o que realmente é uma expressão regular. Uma expressão regular é uma sequência de caracteres que define a estrutura de uma entrada ou padrão de pesquisa. Imagine colocar um e-mail ou senha em algum site aleatório como Facebook, Twitter ou Microsoft. Tente colocar de forma errada e, por errado, quero dizer, tentar ir contra a convenção deles. Ele irá apontar claramente esses erros para você. Você não terá permissão para ir para a próxima etapa até que sua entrada corresponda ao padrão definido no backend. Esse padrão específico, que o impede de colocar qualquer tipo de informação adicional ou irrelevante, é conhecido como regex ou expressão regular.

Expressões regulares em Python

Expressões regulares não desempenham um papel diferente em python como em outras linguagens de programação. Python contém o módulo que fornece suporte completo para o uso de expressões regulares. Sempre que uma informação inadequada ou incomparável é inserida ou ocorre qualquer tipo de erro, este módulo vai pegá-lo como uma exceção que, em última análise, ajudará a resolver os problemas necessários.

Padrões de expressões regulares

Existem muitos caracteres disponíveis escritos em uma sequência que faz um padrão específico de expressão regular. Exceto para personagens de controle, (+ ? . * ^ $ () [] | \), todos os personagens combinam com eles mesmos. No entanto, os caracteres de controle podem ser escapados pela pré-escrita de uma barra invertida.

A seguir está uma tabela que consiste em um padrão e uma descrição sobre seu funcionamento em python.

Padrão Descrição
[Pp] ython Corresponde a “Python” ou “python”
Banheira [Ee] Combine “TubE” ou “Tube”
[aeiou] Corresponde a qualquer vogal minúscula
[0-9] Corresponde a qualquer dígito entre 0 e 9
[a-z] Corresponde a qualquer letra ASCII minúscula
[A-Z] Corresponde a qualquer letra ASCII maiúscula
[a-zA-Z0-9] Corresponde a qualquer letra ASCII minúscula e maiúscula
ou um dígito entre 0 e 9
[^ aeiou] Corresponde a qualquer coisa, mas não vogais minúsculas
[^ 0-9] Corresponde a qualquer coisa, mas não ao dígito
. Corresponde a qualquer caractere, exceto nova linha
\ d Corresponde a qualquer dígito: [0-9]
\ D Corresponde a um não dígito: [^ 0-9]
\ s Corresponder aos espaços em branco
\ S Corresponder a espaços não brancos
\UMA Combine o início da string
\ Z Match final of string
\C Corresponder caracteres de palavras
\C Corresponder caracteres não-word
[…] Corresponde a qualquer caractere único entre colchetes
[^…] Corresponde a qualquer caractere único que não esteja entre colchetes
$ Combine o fim da linha
^ Corresponde ao início da linha

Funções de correspondência e pesquisa em Python

Agora, aqui vamos ver dois exemplos com as duas funções integradas que existem em python. Um é a correspondência e o outro é a função de pesquisa. Ambos usam os mesmos parâmetros, que são os seguintes:

Antes de pularmos para a parte do exemplo, aqui está outra coisa que você precisa saber. Dois métodos podem ser usados ​​para obter grupos correspondentes, que são os seguintes:

O que acontece é que quando as funções de correspondência ou pesquisa são usadas, ela cria subgrupos de todos os padrões relacionados encontrados nas strings e os estrutura em posições começando em 0. Veja o exemplo abaixo para ter uma ideia melhor.

Função de correspondência (exemplo)

No exemplo a seguir, pegamos uma lista na qual usamos uma expressão regular que verifica as palavras que começam com a letra 'a' e seleciona apenas se ambas as palavras começam com a mesma letra i.e.: 'uma'.

importar re
arraylist = [“afeto afetivo”, “ato afetivo”, “Programação afetiva”]
para o elemento na lista de arraylist:
k = re.correspondência (“(a \ w +) \ W (g \ w +)”, elemento)
se k:
imprimir ((z.grupos ()))

Resultado:

('afeto', 'afeto')
('afeto', 'agir')

O terceiro elemento da lista não será considerado, pois não corresponde ao regex que diz que ambas as palavras devem começar com 'a'.

Função de pesquisa (exemplo)

Esta função é diferente de combinar. A pesquisa analisa toda a frase, enquanto a correspondência não. No exemplo a seguir, o método de pesquisa é bem-sucedido, mas a função de correspondência não é.

importar re
Input = “DocumentationNew”
v = re.pesquisa (“(ta.*)", Entrada)
se v:
imprimir (“resultado:” v.grupo 1))

Resultado:

resultado: tationNew

'ta.* 'significa qualquer coisa depois de' ta 'que nos dá nosso resultado como' tationNew 'da entrada pesquisada “DocumentationNew”.

Conclusão

Expressões regulares são cruciais para todos os desenvolvedores de software e agora você pode ver facilmente como usar expressões regulares na linguagem de programação Python.

Como usar o GameConqueror Cheat Engine no Linux
O artigo cobre um guia sobre como usar o mecanismo de cheat GameConqueror no Linux. Muitos usuários que jogam no Windows costumam usar o aplicativo “C...
Melhores emuladores de console de jogo para Linux
Este artigo irá listar software de emulação de console de jogo popular disponível para Linux. A emulação é uma camada de compatibilidade de software q...
Melhores distros Linux para jogos em 2021
O sistema operacional Linux percorreu um longo caminho desde sua aparência original, simples e baseada em servidor. Este sistema operacional melhorou ...