Методот finditer на модулот re
Методот finditer на модулот re
враќа итератор на сите совпаѓања со регуларен израз
во низа. Во првиот параметар на методот се одредува
регуларниот израз. Вториот параметар ја задава
низата во која бараме. Во третиот
незадолжителен параметар може да се зададат знамиња.
Методот ги проверува сите совпаѓања, барајќи ги
од лево кон десно.
Синтакса
import re
re.finditer(регуларен израз, низа, [знамиња])
Пример
Ајде да ги најдеме сите поднизи со цифри во нашата низа:
txt = 'aaaa 123 bbbb 456'
res = re.finditer('\d+', txt)
print(res)
Резултат од извршувањето на кодот:
<callable_iterator object at 0x000002AA891300A0>
Пример
А сега ајде да декларираме променлива res,
чија вредност ќе биде објектот добиен
од нас во претходниот пример. Потоа да го итерираме
со циклус:
txt = 'aaaa 123 bbbb 456'
res = re.finditer('\d+', txt)
for el in res:
print(el)
По извршувањето на кодот ќе добиеме два објекта Match object:
<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 = 'aaaa 123 bbbb 456'
res = re.finditer('(\d)(\d)', txt)
for el in res:
print(el[0], el[1], el[2])
По извршувањето на кодот ќе ја добиеме нултата група, т.е. целата подниза, како и првиот и вториот симбол од таа подниза:
'12' '1' '2'
'45' '4' '5'
Погледнете ги и
-
методот
findallна модулотre,
кој враќа листа од сите совпаѓања во низата -
методот
searchна модулотre,
кој го бара првото совпаѓање со регуларниот израз во низата -
методот
matchна модулотre,
кој бара совпаѓање со регуларниот израз на почетокот на низата -
методот
fullmatchна модулотre,
кој ги бара сите совпаѓања со регуларниот израз во низата -
објектот
Match objectна модулотre,
кој содржи информации за совпаѓањата со регуларниот израз -
методот
splitна модулотre,
кој ја дели низата на листа по одредениот разделувач