Método finditer em expressões regulares do Python

O método finditer é usado para obter um iterador de todas as correspondências do padrão regex em uma string. No primeiro parâmetro do método, especificamos a expressão regular a ser procurada, no segundo parâmetro - a string onde procuramos. O método verifica todas as correspondências, procurando da esquerda para a direita. O método retorna um iterador de objetos de correspondência. A sintaxe do método finditer é a seguinte:

pythonre.finditer(what to search for, where to search)

Vamos encontrar todas as substrings com dígitos na nossa string:

pythontxt = 'aaaa 123 bbbb 456'
print(re.finditer('\d+', txt))

Resultado da execução do código:

python<callable_iterator object at 0x000002AA891300A0>

Agora vamos declarar uma variável res, cujo valor será o objeto que obtivemos no exemplo anterior. Em seguida, vamos iterar sobre ele com um loop:

pythontxt = 'aaaa 123 bbbb 456'
res = re.finditer('\d+', txt)

for el in res:
  print(el)

Após a execução do código, dois objetos de correspondência (match) serão exibidos:

python<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 regex na forma de uma tupla. Podemos exibir as correspondências deles por índice:

pythonfor el in res:
  print(el[0])

Resultado da execução do código:

python'123'
'456'
Задание 1

Dada a string:

pythontxt = '12 aaa 34 bbb 56 ccc'

Exiba todos os números dela usando um loop.