Метод finditer у регуларним изразима у Пајтону
Метод finditer је намењен за
добијање итератора свих подударања са
регуларним изразом у низу. У првом параметру
метода наводимо регуларни израз који ћемо
тражити, у другом параметру - низ у
којем тражимо. Метод проверaва сва подударања,
тражећи их с лева на десно. Метод враћа
итератор објеката подударања. Синтакса
метода finditer изгледа овако:
re.finditer(шта тражити, где тражити)
Хајде да нађемо све поднизове са цифрама у нашем низу:
txt = 'aaaa 123 bbbb 456'
print(re.finditer('\d+', txt))
Резултат извршавања кода:
<callable_iterator object at 0x000002AA891300A0>
А сада хајде да декларишемо променљиву res,
чија вредност ће бити објекат који смо
добили у претходном примеру. Затим ћемо га
проћи циклусом:
txt = 'aaaa 123 bbbb 456'
res = re.finditer('\d+', txt)
for el in res:
print(el)
Након извршавања кода исписаће се два match-објекта:
<re.Match object; span=(5, 8), match='123'>
<re.Match object; span=(14, 17), match='456'>
Ови објекти садрже информације о свим подударањима са регуларним изразом у виду торки. Може се из њих исписати подударања по индексу:
for el in res:
print(el[0])
Резултат извршавања кода:
'123'
'456'
Дат је низ:
txt = '12 aaa 34 bbb 56 ccc'
Испишите из њега све бројеве помоћу циклуса.