Metoda finditer u regularnim izrazima Pajtona

Metoda finditer je namenjena za dobijanje iteratora svih poklapanja sa regularnim izrazom u stringu. U prvom parametru metode određujemo regularni izraz koji ćemo da tražimo, u drugom parametru - string, u kome tražimo. Metoda proverava sva poklapanja, tražeći ih sleva nadesno. Metoda vraća iterator objekata poklapanja. Sintaksa metode finditer izgleda ovako:

pythonre.finditer(šta tražiti, gde tražiti)

Hajde da pronađemo sve podstringove sa ciframa u našem stringu:

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

Rezultat izvršavanja koda:

python<callable_iterator object at 0x000002AA891300A0>

A sada hajde da deklarišemo promenljivu res, čija vrednost će biti objekat, dobijen nam u prethodnom primeru. Zatim ga prođimo petljom:

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

for el in res:
  print(el)

Nakon izvršavanja koda ispisaće se dva match-objekta:

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

Ovi objekti sadrže informacije o svim poklapanjima sa regularnim izrazom u vidu torke. Možemo iz njih da ispišemo poklapanja preko indeksa:

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

Rezultat izvršavanja koda:

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

Dat je string:

pythontxt = '12 aaa 34 bbb 56 ccc'

Ispišite iz njega sve brojeve pomoću petlje.