Metoda finditer v regularnih izrazih Python

Metoda finditer je namenjena pridobivanju iteratorja vseh ujemanj z regularnim izrazom v nizu. V prvem parametru metode podamo regularni izraz, ki ga bomo iskani, v drugem parametru - niz, v katerem iščemo. Metoda preveri vsa ujemanja, poišče jih od leve proti desni. Metoda vrne iterator objektov ujemanja. Sintaksa metode finditer je naslednja:

pythonre.finditer(kaj iskati, kje iskati)

Poiščimo vse podnize s številkami v našem nizu:

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

Rezultat izvajanja kode:

python<callable_iterator object at 0x000002AA891300A0>

In sedaj deklarirajmo spremenljivko res, katere vrednost bo objekt, ki smo ga prejeli v prejšnjem primeru. Nato ga ponovimo z zanko:

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

for el in res:
  print(el)

Po izvedbi kode se izpišeta dva match-objekta:

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

Ti objekti vsebujejo informacije o vseh ujemanjih z regularnim izrazom v obliki terke. Iz njih lahko izpišemo ujemanja po indeksu:

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

Rezultat izvajanja kode:

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

Dan niz:

pythontxt = '12 aaa 34 bbb 56 ccc'

Iz njega izpišite vsa števila s pomočjo zanke.