Методот finditer во регуларните изрази на Python

Методот finditer е наменет за добивање на итератор на сите совпаѓања со регуларниот израз во низата. Во првиот параметар на методот ја наведуваме регуларната израз, која ќе ја бараме, во вториот параметар - низата, во која бараме. Методот ги проверува сите совпаѓања, барајќи ги од лево кон десно. Методот враќа итератор на објекти на совпаѓање. Синтаксата на методот finditer изгледа вака:

pythonre.finditer(што да се бара, каде да се бара)

Ајде да ги најдеме сите поднизи со цифри во нашата низа:

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

Резултат од извршувањето на кодот:

python<callable_iterator object at 0x000002AA891300A0>

А сега ајде да декларираме променлива res, чија вредност ќе биде објектот, добиен од нас во претходниот пример. Потоа да го итерираме со циклус:

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

for el in res:
  print(el)

По извршувањето на кодот ќе се испечатат два match-објекти:

python<re.Match object; span=(5, 8), match='123'>
<re.Match object; span=(14, 17), match='456'>

Овие објекти содржат информации за сите совпаѓања со регуларниот израз во форма на торка. Може да се изведат од нив совпаѓањата по индекс:

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

Резултат од извршувањето на кодот:

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

Дадена е низата:

pythontxt = '12 aaa 34 bbb 56 ccc'

Испечатете ги од неа сите броеви со помош на циклус.