Introdução ao Python Regex

Atualmente, o Python é a palavra da moda na indústria de tecnologia. É uma linguagem que está ganhando popularidade em um ritmo acelerado. É uma linguagem muito dinâmica e pode ser usada para criar aplicativos da Web para algoritmos de aprendizado de máquina. Neste artigo, vamos aprender sobre como o Regex é usado no Python. Um regex é uma forma abreviada de Expressão Regular e é basicamente uma sequência de caracteres que pode ser usada como padrão. O bom é que o Python possui seu próprio pacote Regex interno conhecido como re.

Sintaxe:

Nós vamos entender a sintaxe com um exemplo. O exemplo para isso, podemos procurar uma string para ver se ela começa com "He" e termina com "smart".

import reword = "He is very smart"
x =re.search("^He.*smart$", word)
print(x)

Se você observar a sintaxe, é muito simples: basta importar primeiro o pacote regex re e, em seguida, usar qualquer uma das funções do pacote importado, conforme sua necessidade. Se executarmos o código de exemplo acima no Jupyter, obteremos o resultado abaixo.

Funções de Regex em Python

Existem muitas funções regex que nos ajudam a procurar uma sequência por uma correspondência. Antes disso, aprenderemos primeiro sobre os caracteres que geralmente vemos em uma função regex.

()

Representa um conjunto de caracteres.

.

Representa qualquer caractere, exceto uma nova linha.

*

Representa zero ou mais ocorrências.

+

Representa uma ou mais ocorrências.

^

Representa o caractere inicial

$

Representa o caractere final.

|

Representa ou-ou.

()

Representa captura e grupo.

\

Geralmente é usado para escapar de caracteres especiais

O Regex também possui algumas seqüências especiais que serão úteis para saber, por exemplo:

\W

Ele mostra uma correspondência se a sequência tiver qualquer conjunto de caracteres de palavras de (0 a 9), AZ ou az e sublinhado.

\W

Retorna uma correspondência se a sequência não tiver caracteres de palavra presentes.

\ d

Esses retornos correspondem quando há dígitos na string.

\ D

É o oposto do anterior, pois retorna match se nenhum dígito estiver presente na string.

\ s

É usado para verificar se há caracteres de espaço em branco em uma sequência. Retorna match se houver caracteres de espaço em branco.

\ S

Retorna match quando não há espaços em branco na string.

Funções usadas para operações Regex

Vamos ver várias funções do módulo re que podem ser usadas para operações de expressão regular em python.

1. função findall (): Esta função está presente no re-módulo. Retorna uma lista de todas as correspondências presentes na string. Ele itera da esquerda para a direita através da string. As correspondências também são retornadas exatamente na mesma ordem de pesquisa. Vamos passar por um exemplo disso. Suponha que desejamos encontrar todos os dígitos presentes em uma string. Para isso, usaremos a função findall () na qual encontraremos todos os dígitos presentes na string. Vamos ver o código para isso agora:

Código:

import re
word = "Raju is 22 years old and his mobile number last three-digit is 789"
rgex ='\d+'
x =re.findall(rgex, word)
print(x)

Se passarmos pelo código, receberemos basicamente a palavra variável com uma string contendo dígitos e, em seguida, passar o símbolo de expressão regular apropriado para dígitos junto com a palavra variável como argumentos na função findall ()

Agora, vamos ver a saída.

Como você pode ver, obtemos uma lista de números como resultado.

2. Função search (): a função search é usada para pesquisar padrões em uma string e, se uma correspondência for encontrada, ela retornará o objeto. Aqui, uma coisa que devemos lembrar é que, se houver mais de uma correspondência, ela retornará apenas a primeira ocorrência. Se nenhuma correspondência for encontrada, ela não retornará nenhuma. Vamos ver um exemplo para isso, se quisermos encontrar a string que começa com uma palavra específica. Testaremos casos de correspondência positivos e negativos. Vamos ver o código para o mesmo.

Código:

import re
word = "Raju is 22 years old"
rgex ='^Raju'
x =re.search(rgex, word)
print(x)
regex1= '^Mohan'
x1 = re.search(regex1, word)
print(x1)

Aqui, a variável 'regex' é usada em um cenário positivo e a variável 'regex1' para um cenário negativo. Agora, por favor, veja a saída.

No primeiro caso, retornamos o objeto de correspondência, enquanto no segundo caso, retornamos 'Nenhum'.

3. Função Split (): Esta função divide a string após cada correspondência, o que significa que, assim que houver uma correspondência na string, essa função divide a string a partir daí. Portanto, se houver três correspondências, haverá três divisões. Vamos ver um exemplo. Suponha que desejemos dividir uma sequência após cada espaço. Portanto, podemos usar essa função de divisão para um bom uso nessa situação.

Código:

import re
word = "Raju is 22 years old"
rgex ='\s'
x =re.split(rgex, word)
print(x)

Aqui os padrões representam caracteres de espaço em branco. Agora vamos ver a saída.

Como você pode ver na saída, a sequência é dividida após cada espaço.

4. Função sub (): Esta função substitui as correspondências pela string ou caractere de escolha do usuário. Basicamente, significa que, se houver uma correspondência na cadeia, ela substituirá esse caractere ou cadeia correspondente pela sua ou caractere e retornará a cadeia modificada. São necessários três argumentos. Por exemplo, apenas substituiremos o espaço em branco por '&' em nossa string.

Código:

import re
word = "Raju is 22 years old"
rgex ='\s'
x =re.sub(rgex, '&', word)
print(x)

Agora vamos ver a saída do código acima.

Como você pode ver, todos os espaços foram substituídos por '&'.

Conclusão

Neste artigo, discutimos o módulo regex e suas várias funções internas do Python. O Regex é muito importante e é amplamente utilizado em várias linguagens de programação.

Artigos recomendados

Este é um guia para o Python Regex. Aqui discutimos a Introdução ao Python Regex e algumas funções importantes do regex, juntamente com um exemplo. Você também pode consultar nossos outros artigos sugeridos para saber mais:

  1. While Loop em Python
  2. Número reverso em Python
  3. Palavras-chave Python
  4. Conjuntos Python
  5. Palavras-chave PHP
  6. Palavras-chave C ++