Uma expressão regular é uma sequência especial de caracteres que pode ajudá-lo a verificar facilmente se uma string corresponde a um determinado padrão. Então hoje falarei detalhadamente sobre o uso de expressões regulares.
O módulo re permite que a linguagem Python tenha todas as funções de expressão regular. Teremos uma compreensão mais profunda das expressões regulares do Python por meio das funções básicas e casos de uso do módulo re.
1. Configuração do ambiente
Meu ambiente python é a versão 3.7.8 e o caminho de download é o seguinte:
1.python 3.7.8
Você pode entrar diretamente no site oficial para baixar e instalar: Download Python | Python.org
A biblioteca 2.re pode ser importada diretamente
import re
2. Uso básico da biblioteca re
1. Correspondência de strings comuns
re.findll(): Retorna dados na forma de uma lista. A lista são dados de string que atendem aos requisitos regulares:
x = "qwer123\>"
y = re.findall('qwe',x)
print(y)
Saída:
Primeiro defina uma variável x, atribua a ela um conjunto de dados de string, defina a variável y, use a função findll() para extrair os dados de string contendo 'qwe' em:
x = "qwer123qwer\>"
y = re.findall('qwe',x)
print(y)
Saída:
Dois conjuntos de dados do tipo string 'qwe' são obtidos na variável x e retornados na forma de uma lista.
2. Correspondência de metacaracteres (vamos falar sobre alguns metacaracteres comumente usados)
(1) []: usado para especificar um conjunto de caracteres ([0~9]), representando um intervalo (a[abcde]e).
Por exemplo, se você quiser encontrar 'xyz' na string 'xyzqwexyz', você pode usar [] para escrever:
x = 'xyzqwexyz'
y = 'x[xyz]z'
z = re.findall(y,x)
print(z)
Saída:
(2) ^: Usado principalmente para corresponder ao início da linha
x = 'xyzqwexyz'
print(re.findall("^xy", x))
Saída:
(3)$: Usado principalmente para corresponder ao final da linha
x = 'xyzqwexyz'
print(re.findall("yz$", x))
Saída:
(4) \s: corresponde a qualquer caractere de espaço em branco
x = 'xyz yz'
print(re.findall("\s\s",x))
Saída:
(5)\w: corresponde a qualquer caractere alfanumérico e sublinhado
x = "xh_xw-@*a"
print(re.findall("\w\w\w",x))
print(re.findall("\w\w\w\w\w",x))
Saída:
(6) \d: corresponde a qualquer número decimal
x = 'ab214cd'
print(re.findall("b\d\d\dc", x))
Saída:
(7) *: Indica correspondência tanto quanto possível
x = '123456789'
print(re.findall("123\d*", x))
Saída:
(8).: Indica a operação de qualquer caractere, exceto caracteres de nova linha
x = '0123\n456-*\n@'
print(re.findall('.',x))
Saída:
3. Resumo
Depois de dominar o uso das funções acima, você pode basicamente completar a correspondência de strings. Deve ser mais fácil de entender através de um pequeno exemplo de cada função.
@Neng