Python RegEx
O regex do Python será discutido usando exemplos. Como um meio de atingir os objetivos educacionais.
Em Python regex , falamos sobre Expressões Regulares, ou RegEx. RegEx é uma sequência de caracteres que forma um padrão de pesquisa.
Usando o RegEx, você pode verificar se uma string contém o padrão de pesquisa que você especificou.
Módulo RegEx do Python
A linguagem de programação Python inclui um pacote chamado re que lida com expressões regulares.
Importar novamente:
import re
Usando Python Regex
Após a importação do módulo re , você pode começar a escrever expressões regulares com Python regex:
Para descobrir se a string começa com “Elon” e termina com “Musk”, pesquise a string da seguinte forma:
Example
Funções RegEx do Python
No módulo Python regex re , podemos procurar correspondências entre duas strings usando as seguintes funções :
Função | Visão geral |
---|---|
encontrar tudo | Fornece uma lista de todas as correspondências. |
procurar | Corresponde a qualquer lugar na string e retorna um objeto Match. |
dividir | Divide a string em cada correspondência e retorna uma lista. |
sub | Substituição de string para uma ou mais correspondências. |
Metacaracteres com Python RegEx
Caracteres com metacaracteres têm um significado especial:
Personagem | Visão geral | Exemplo | Tente |
---|---|---|---|
[] | Os caracteres em um conjunto – Usando – dentro de colchetes, você pode especificar um intervalo de caracteres. [ae] corresponde a [abcde] [1-4] = [1234] |
"[PM]" | Executar |
\ | Detecta uma sequência especial (ou escapa de um caractere especial). | “\d” | Executar |
. | Caracteres diferentes de novas linhas | "el..on" | Executar |
^ | Começa com | “^reve” | Executar |
$ | Termina com | “Almíscar$” | Executar |
* | Uma ocorrência de zero ou mais | “mrx*” | Executar |
+ | Uma ou várias ocorrências | “mrx+” | Executar |
{} | Quantidade de ocorrências conforme especificado | “sr{2}” | Executar |
| | é ou/ou | “cai | sobe” | Executar |
() | Agrupar e capturar |
Sequências Especiais
Aqui estão algumas sequências regex do Python , precedidas por caracteres da lista abaixo, que possuem significados especiais:
Personagem | Visão geral | Exemplo | Tente |
---|---|---|---|
\A |
Corresponde às strings em que os caracteres especificados aparecem no início. |
“\AMr” | Executar |
\b |
Esta função corresponde a palavras que contêm os caracteres especificados no início ou no final. |
e”\blon” m”usk\b” |
Executar Executar |
\B |
Os caracteres especificados devem aparecer na correspondência, mas não no início (ou no final) O final de uma palavra. |
e”\Blon” m”musk\B” |
Executar Executar |
\d |
Esta função encontra correspondências em strings com dígitos (de 0 a 9). |
“\d” | Executar |
\D |
Corresponde a strings que não contêm dígitos. |
“\D” | Executar |
\s |
Identifica uma string contendo espaço em branco como uma correspondência. |
“\s” | Executar |
\S |
Corresponde a strings sem caracteres de espaço em branco. |
“\S” | Executar |
\c |
Ele encontra correspondências onde a string contém qualquer um dos caracteres de palavra (a a Z, 0-9 e sublinhado _). |
"\c" | Executar |
\C |
Esta função retorna uma correspondência quando não há caracteres de palavras na string. |
"\C" | Executar |
\Z |
Uma correspondência será retornada se a string terminar com os caracteres especificados. |
“Elon\Z” | Executar |
Conjuntos
Python regex usa o termo 'conjunto' para descrever uma série de caracteres entre colchetes [] que têm um significado especial quando se trata de seu uso em Python regex:
Definir | Visão geral | Tente |
---|---|---|
[arn] |
A função retorna uma correspondência quando um dos caracteres especificados (a, r ou n) aparece na string |
Executar |
[um] | Identifica correspondências entre a e n para qualquer caractere minúsculo. | Executar |
[^arn] | Corresponde a qualquer caractere EXCETO a , r e n | Executar |
[0123] | Qualquer dígito ( 0 , 1 , 2 ou 3 ) no intervalo especificado será retornado como uma correspondência | Executar |
[0-9] | Corresponde a qualquer dígito entre 0 e 9 | Executar |
[0-5][0-9] | Corresponde a qualquer número de dois dígitos entre 00 e 59 | Executar |
[a-zA-Z] | A função retorna a correspondência para qualquer caractere em ordem alfabética entre a e z , em letras minúsculas ou maiúsculas. | Executar |
[+] | Em conjuntos, +, *, ., |, (), $,{} não tem nenhum significado especial, enquanto [+] significa: retorna uma correspondência para qualquer caractere + na string. | Executar |
Função findall () do Python
A função regex findall() do Python fornece uma lista que contém todas as correspondências.
Todas as correspondências serão impressas em uma lista:
Example
As correspondências são listadas em ordem de descoberta.
No Python regex , uma lista vazia é retornada se nenhuma correspondência for encontrada:
Se nenhuma correspondência for encontrada, retorne uma lista vazia:
Example
função search () em Python Regex
Search() pesquisa a string em busca de uma correspondência e retorna um objeto de correspondência se for encontrado.
Ele só retornará a primeira correspondência se houver mais de uma:
Se a string contiver um espaço em branco, procure-o da seguinte maneira:
Example
O valor None é retornado se nenhuma correspondência for encontrada:
Nenhum resultado foi encontrado quando você pesquisou:
Example
Função split() do Python
Quando split() é chamado, ele retorna uma lista que contém as strings divididas:
Cada caractere de espaço em branco é dividido da seguinte forma:
Example
Ao especificar maxsplit , você pode controlar quantas divisões ocorrem:
Separe a string na primeira posição:
Example
Função Python sub()
Quando se trata de Python regex , a função sub() substitui as correspondências pelo texto de sua escolha:
Todos os espaços em branco ou em branco devem ser preenchidos com o caractere – :
Example
O parâmetro de contagem permite especificar o número de substituições:
As 4 primeiras ocorrências devem ser substituídas:
Example
Objeto correspondente
No Python regex , o Match Object é um objeto que fornece informações sobre a pesquisa e o resultado que foi realizado.
A menos que haja uma correspondência, None será retornado em vez de um Match Object.
Para encontrar um Match Object, faça a seguinte pesquisa:
Example
Existem propriedades e métodos no objeto Match que são usados para recuperar dados sobre a pesquisa e os resultados.
- Uma tupla contendo as posições inicial e final da correspondência é retornada por .span() .
- A string passada para a função é retornada por .string
- Uma correspondência entre os grupos de uma string é retornada por .group()
Identifique a primeira ocorrência de uma correspondência (posições iniciais e finais).
Example
A string passada para a função será exibida da seguinte forma:
Example
Você poderá ver a parte da string onde houve uma correspondência.
Example
A menos que haja uma correspondência, None será retornado em vez de Match Object.
Usos do Python RegEx
Aqui estão alguns casos de uso comuns para Python regex:
- Regex pode ser usado para procurar padrões específicos dentro de strings. Por exemplo, você pode encontrar todas as ocorrências de uma determinada palavra, extrair endereços de e-mail ou URLs, validar números de telefone, etc.
- Regex permite extrair partes específicas de texto de uma string maior. Isso pode ser útil para analisar dados, extrair informações de logs ou raspar páginas da web.
- Regex permite que você encontre e substitua padrões específicos dentro de uma string. Você pode substituir certas palavras, remover caracteres indesejados ou realizar transformações de texto complexas.
- O Regex pode ser usado para validar a entrada do usuário, verificando se ele corresponde a um padrão específico. Por exemplo, você pode verificar se uma entrada segue um determinado formato, como um endereço de e-mail válido, uma senha forte ou um formato de data correto.
- Regex pode ajudar a limpar e normalizar dados removendo caracteres indesejados, formatando inconsistências ou corrigindo erros comuns em dados textuais.
- Regex permite dividir o texto em tokens com base em padrões específicos. Isso pode ser útil para tarefas de processamento de linguagem natural, como classificação de texto, análise de sentimento ou recuperação de informações.
- Regex é frequentemente usado em compiladores e interpretadores de linguagem de programação para tokenização e análise de código-fonte, identificando palavras-chave, operadores e outras construções de linguagem.
- Em estruturas de desenvolvimento da Web, o regex é comumente usado para definir padrões de URL e rotear solicitações de entrada para manipuladores ou controladores apropriados.