Методот finditer во регуларните изрази на Python
Методот finditer е наменет за
добивање на итератор на сите совпаѓања со
регуларниот израз во низата. Во првиот параметар на
методот ја наведуваме регуларната израз,
која ќе ја бараме, во вториот параметар - низата,
во која бараме. Методот ги проверува сите совпаѓања,
барајќи ги од лево кон десно. Методот враќа
итератор на објекти на совпаѓање. Синтаксата на
методот 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'
Испечатете ги од неа сите броеви со помош на циклус.