Metoda finditer në shprehjet e rregullta të Python

Metoda finditer është menduar për marrjen e një përsëritësi të të gjitha përputhjeve me shprehjen e rregullt në varg. Në parametrin e parë të metodës specifikojmë shprehjen e rregullt, që do të kërkojmë, në parametrin e dytë - vargun, ku do të kërkojmë. Metoda kontrollon të gjitha përputhjet, duke i kërkuar nga e majta në të djathtë. Metoda kthen një përsëritës të objekteve të përputhjes. Sintaksa e metodës finditer duket kështu:

pythonre.finditer(çfarë të kërkohet, ku të kërkohet)

Le të gjejmë të gjitha nënvargjet me shifra në vargun tonë:

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

Rezultati i ekzekutimit të kodit:

python<callable_iterator object at 0x000002AA891300A0>

Tani le të deklarojmë një ndryshore res, vlere e së cilës do të jetë objekti, i marrë nga ne në shembullin e mëparshëm. Pastaj le ta përsërisim atë me një cikël:

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

for el in res:
  print(el)

Pas ekzekutimit të kodit do të printohen dy objekte match:

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

Këto objekte përmbajnë informacion për të gjitha përputhjet me shprehjen e rregullt në formë të tuple. Mund të nxirren prej tyre përputhjet sipas indeksit:

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

Rezultati i ekzekutimit të kodit:

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

Është dhënë një varg:

pythontxt = '12 aaa 34 bbb 56 ccc'

Nxirri prej tij të gjithë numrat duke përdorur ciklin.