Substring de extrato de python usando regex

Substring de extrato de python usando regex

Pode haver vários cenários de caso em que é necessário extrair uma substring de uma string no python. Por exemplo, enquanto trabalha em grandes conjuntos de dados, pode ser necessário obter dados específicos dos campos de texto ou corresponder a um padrão específico em uma string, como um endereço de e -mail ou número de telefone. Além disso, a operação de extração de substring também auxilia no processamento e análise de texto.

Esta postagem cobrirá as seguintes abordagens:

  • Método 1: Substring Python Extract usando Regex em “Re.Search () ”Método
  • Método 2: Substring Python Extract usando Regex em “Re.Match () ”Método
  • Método 3: Substring Python Extract usando Regex em “Re.Método Findall () ”
  • Método 4: Substring Python Extract usando Regex em “Re.Finditer () ”Método

Método 1: Substring Python Extract usando Regex em “Re.Search () ”Método

O python “ré.procurar()”O método procura a primeira ocorrência da instância do padrão adicionado em uma string e produz um“Corresponder”Objeto. Ele pode ser chamado quando você deseja localizar uma substring específica dentro de uma corda mais longa, mas não tem idéia com que frequência ocorre.

Sintaxe

Para usar o RE.Método de pesquisa (), siga a sintaxe dada:

ré.Pesquisar (padrão, string, sinalizadores)

Aqui:

  • ““padrão”Representa o regex que você deseja pesquisar.
  • ““corda”Refere -se à sequência especificada na qual você deseja pesquisar.
  • ““bandeiras”Representa os parâmetros opcionais, como modo de várias linhas, sensibilidade ao caso, etc.

Exemplo 1: Extraindo a substring baseada em texto usando “RE.Search () ”Método

Para utilizar o “ré.procurar()”Método para extrair uma substring, importe primeiro o“”Módulo. Este módulo oferece suporte para regex:

importar re

Defina a string da qual você deseja recuperar uma substring:

String = 'Linuxhint é o melhor site do tutorial'

Então, especifique o regex. Aqui, "r”Indica que é uma corda crua para tratar as reações como personagens literais e“melhor”É a expressão regular definida ou regex:

regex = r'best '

Passe o criado “regex" e "corda" para lá.Search () Método e armazenar o objeto resultante no “corresponder”:

Match = re.Search (regex, string)

Agora, adicione a condição fornecida para extrair a substring correspondente do “corresponder”Objeto retornado pelo RE.Método de pesquisa () e exibi -lo no console:

Se a correspondência:
sub_string = correspondência.grupo()
Imprimir (sub_string)

Pode -se observar que a substring “melhor”Foi extraído utilizando o“grupo()”Método do objeto Match:

Exemplo 2: Extraindo a substring numérica usando “re.Search () ”Método

Agora, defina uma corda numérica e pesquise a primeira ocorrência de um ou mais dígitos nela passando o “\ d+”Como o regex para“ré.procurar()”Método:

String = '039-6546-0987'
impressão (re.pesquisa (r '\ d+', string))

No regex especificado:

  • ““\”É utilizado para escapar da letra“d”(Caractere de dígitos).
  • ““+”Significa um ou combina dígitos em uma linha:

Como você pode ver, o objeto correspondente foi devolvido pelo “ré.procurar()”Método.

Método 2: Substring Python Extract usando Regex em “Re.Match () ”Método

““ré.corresponder()”Somente procura o regex no início das cordas e produz um objeto de correspondência em caso de uma pesquisa bem -sucedida. Este método pode ser utilizado quando você sabe que a substring ocorre apenas no início da string fornecida.

Sintaxe

Para invocar o RE.MOCHON () Siga a sintaxe dada:

ré.Match (padrão, string, sinalizadores)

Exemplo

Em primeiro lugar, defina a expressão regular como “'^l… .T $'”. Este regex corresponde às cordas que começam com “eu", Termine com"t”, E tem exatamente 8 caracteres.

regex = '^l… t $'

Então, declare a string. Passe para o Re.Match () Método, juntamente com o regex como argumentos:

String = 'Linuxhint'
resultado = re.Match (regex, string)

Adicione o "if-else”Condicionar e especificar as respectivas declarações de impressão para os casos se“Corresponder”O objeto foi devolvido ou não:

Se resultado:
Print ("A pesquisa foi feita com sucesso", resultado)
outro:
impressão ("A pesquisa não foi bem -sucedida.")

Saída

Método 3: Substring Python Extract usando Regex em “Re.Método Findall () ”

O "ré.encontrar tudo()”O método Python procura por todas as instâncias de um padrão dentro das seqüências e produz uma lista de substâncias extraídas. Este método é usado nesses cenários em que é necessário para recuperar várias substringas sem qualquer pedido específico.

Sintaxe

Para invocar o RE.Método findall (), confira a sintaxe dada:

ré.Findall (padrão, string, sinalizadores)

Exemplo

Defina uma string compreendendo valores numéricos. Então, especifique o padrão regex como “r '\ d+'”Para combinar um ou mais dígitos:

String = '4 horas Campo Linuxhint por US $ 14.99 '
regex = r '\ d+'

Então, chame o “ré.encontrar tudo()”Método e passe o regex definido e a string como argumentos

Matches = re.Findall (regex, string)

Agora, itera sobre o retorno “Corresponder”Objeto armazenado na variável Matches e imprima os elementos no console:

para partida em partidas:
Imprimir (correspondência)

Saída

Método 4: Substring Python Extract usando Regex em “Re.Finditer () ”Método

O "ré.Finditer ()”O método funciona da mesma forma que o RE.método findall (). No entanto, ele retorna um iterador em vez de uma lista de substringas. No Python, esse método pode ser utilizado quando existe um grande conjunto de dados e não precisa armazenar todas as partidas de uma só vez. Mais especificamente, o RE.Finditer () Método processa a substring extraída uma de cada vez.

Sintaxe

Para invocar o RE.método finditer (), siga a sintaxe dada:

ré.Finditer (padrão, string, sinalizadores)

Exemplo

Primeiro, crie uma string. Então, defina um padrão regex como “r '[a-z]+'”Isso corresponde a uma ou mais letras maiúsculas:

String = 'Linuxhint é o melhor site do tutorial'
regex = r '[a-z]+'

Passe o regex e a string como argumentos para o “ré.Finditer ()”Método e armazenar o objeto de correspondência resultante em“partidas”:

Matches = re.Finditer (regex, string)

Por fim, iterar sobre os elementos do objeto correspondentes, extraia a substring com a ajuda do método "Grupo ()" e imprima no console:

para partida em partidas:
sub_string = correspondência.grupo()
Imprimir (sub_string)

Saída

Nós compilamos abordagens essenciais relacionadas à extração de substring em Python.

Conclusão

Para extrair substring usando regex em python, use o “ré.procurar()","ré.Match () ”,“ Re.encontrado () ", ou o" RE.Finditer ()" métodos. Dependendo das suas necessidades, utilize “ré.procurar()”Método quando é necessário extrair apenas a primeira instância do Regex,“ré.corresponder()”Extrai a substring Apresenta o início de uma string,“ré.encontrar tudo()”Recupera várias substâncias de acordo com o padrão e, por fim,“ré.Finditer ()”Processe as múltiplas cordas uma de cada vez. Este blog cobriu os métodos para extrair substring em Python.