Método finditer do módulo re
O método finditer do módulo re
retorna um iterador de todas as correspondências com uma expressão regular
em uma string. No primeiro parâmetro do método, especificamos
a expressão regular. No segundo parâmetro, definimos
a string na qual procuramos a expressão regular. No terceiro
parâmetro opcional, podemos definir sinalizadores.
O método verifica todas as correspondências, procurando-as
da esquerda para a direita.
Sintaxe
import re
re.finditer(expressão_regular, string, [sinalizadores])
Exemplo
Vamos encontrar todas as substrings com dígitos na nossa string:
txt = 'aaaa 123 bbbb 456'
res = re.finditer('\d+', txt)
print(res)
Resultado da execução do código:
<callable_iterator object at 0x000002AA891300A0>
Exemplo
E agora vamos declarar a variável res,
cujo valor será o objeto obtido
por nós no exemplo anterior. Em seguida, vamos iterar
sobre ela com um loop:
txt = 'aaaa 123 bbbb 456'
res = re.finditer('\d+', txt)
for el in res:
print(el)
Após a execução do código, obteremos dois objetos Match object:
<re.Match object; span=(5, 8), match='123'>
<re.Match object; span=(14, 17), match='456'>
Esses objetos contêm informações sobre todas as correspondências com a expressão regular na forma de uma tupla. Podemos extrair deles as correspondências por índice:
for el in res:
print(el[0])
Resultado da execução do código:
'123'
'456'
Exemplo
Para maior clareza, vamos usar grupos de captura durante a busca por correspondências. E ao iterar sobre os objetos no loop, vamos exibir a primeira correspondência (ela será considerada o grupo zero), bem como seus elementos, que por sua vez também estão distribuídos em grupos de captura:
txt = 'aaaa 123 bbbb 456'
res = re.finditer('(\d)(\d)', txt)
for el in res:
print(el[0], el[1], el[2])
Após a execução do código, obteremos o grupo zero, ou seja, toda a substring, bem como o primeiro e o segundo caractere desta substring:
'12' '1' '2'
'45' '4' '5'
Veja também
-
método
findalldo módulore,
que retorna uma lista com todas as correspondências na string -
método
searchdo módulore,
que busca a primeira correspondência com a expressão regular na string -
método
matchdo módulore,
que busca correspondência com a expressão regular no início da string -
método
fullmatchdo módulore,
que busca todas as correspondências com a expressão regular na string -
objeto
Match objectdo módulore,
que contém informações sobre as correspondências com a expressão regular -
método
splitdo módulore,
que divide a string em uma lista pelo separador especificado