Pesquisa Python Regex()

Resumo : neste tutorial, você aprenderá como usar a search()função regex do Python para retornar a primeira correspondência de um padrão em uma string.

Introdução à função Python regex search()

A regex search()é uma função do módulo interno reque lida com expressões regulares . A search()função possui a seguinte sintaxe:

re.search(pattern, string, flags=0)Linguagem de código:  Python  ( python )

Nesta sintaxe:

  • padrão é uma expressão regular que você deseja pesquisar na string.
  • string é a string de entrada.
  • flagsé um ou mais sinalizadores de expressão regular que modificam o comportamento padrão do padrão.

A search()função verifica stringda esquerda para a direita e encontra o primeiro local onde patternproduz uma correspondência. Ele retorna um Matchobjeto se a pesquisa foi bem-sucedida ou Nonenão.

Exemplos de funções de pesquisa regex() em Python

Vejamos alguns exemplos de uso da search()função.

1) Usando a função Python regex search() para encontrar a primeira correspondência

O exemplo a seguir usa a search()função para encontrar o primeiro número na string:

import re

s = 'Python 3 was released on Dec 3, 2008'
pattern = '\d+'

match = re.search(pattern, s)

if match is not None:
    print(match.group())
else:
    print('No match found')Linguagem de código:  Python  ( python )

Saída:

<re.Match object; span=(7, 8), match='3'>Linguagem de código:  Python  ( python )

Neste exemplo, o padrão \d+corresponde a um ou mais dígitos. O search()retorna um Matchobjeto.

Para obter a correspondência, você pode chamar o group()método do Matchobjeto assim:

import re

s = 'Python 3 was released on Dec 3, 2008'
pattern = '\d+'


match = re.search(pattern, s)

if match is not None:
    print(match.group())Linguagem de código:  Python  ( python )

Saída:

3Linguagem de código:  Python  ( python )

2) Usando a função Python regex search() para encontrar a primeira palavra que corresponde a um padrão

O exemplo a seguir usa a search()função para pesquisar a primeira palavra que termina com a string literal thonem uma string:

import re

s = 'CPython, IronPython, or Cython'
pattern = r'\b((\w+)thon)\b'

match = re.search(pattern, s)

if match is not None:
    print(match.groups())Linguagem de código:  Python  ( python )

Saída:

('CPython', 'CPy')Linguagem de código:  Python  ( python )

O padrão r'\b((\w+)thon)\b'possui dois grupos de captura:

  • (\w+)– captura os caracteres no início da palavra.
  • ((\w+)thon)– captura a palavra inteira.

A search()função retorna o primeiro local onde encontra a correspondência. Para acessar todos os grupos em uma partida, você usa o groups()método do objeto match.

Conforme mostrado claramente na saída, o groups()método retorna uma tupla que contém todos os grupos.

3) Usando a função Python regex search() com um sinalizador regex

O exemplo a seguir usa a search()função para encontrar a primeira pythonpalavra em uma string:

import re

s = 'Python or python'
pattern = r'\bpython\b'

match = re.search(pattern, s)
print(match)Linguagem de código:  Python  ( python )

Ele retorna a palavra pythoncom a letra pminúscula conforme especificado no padrão.

<re.Match object; span=(10, 16), match='python'>Linguagem de código:  Python  ( python )

Para corresponder a palavra sem distinção entre maiúsculas e minúsculas, você pode passar o re.IGNORECASEsinalizador para o terceiro argumento da search()função. Por exemplo:

import re

s = 'Python or python'
pattern = r'\bpython\b'

match = re.search(pattern, s, re.IGNORECASE)
print(match)Linguagem de código:  Python  ( python )

Neste exemplo, a search()função retorna a palavra Pythoncom a letra Pmaiúscula:

<re.Match object; span=(0, 6), match='Python'>Linguagem de código:  Python  ( python )

Resumo

  • Use a função regex search()para retornar a primeira correspondência de um padrão em uma string ou Nonese a pesquisa não tiver êxito.

Deixe um comentário

O seu endereço de email não será publicado. Campos obrigatórios marcados com *