Metods finditer Python regulārajās izteiksmēs

Metods finditer ir paredzēts visu atbilstību ar regulāro izteiksmi virknē iteratora iegūšanai. Pirmajā parametrā metoda norādām regulāro izteiksmi, ko meklēsim, otrajā parametrā - virkni, kurā meklējam. Metods pārbauda visas atbilstības, meklējot tās no kreisās puses uz labo. Metods atgriež atbilstību objektu iteratoru. Metoda finditer sintakse izskatās šādi:

pythonre.finditer(ko meklēt, kur meklēt)

Meklēsim visas apakšvirknes ar cipariem mūsu virknē:

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

Koda izpildes rezultāts:

python<callable_iterator object at 0x000002AA891300A0>

Un tagad deklarēsim mainīgo res, kura vērtība būs objekts, ko ieguvām iepriekšējā piemērā. Pēc tam iziesim to cauri ciklā:

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

for el in res:
  print(el)

Pēc koda izpildes tiks izvadīti divi match-objekti:

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

Šie objekti satur informāciju par visām atbilstībām ar regulāro izteiksmi korteža veidā. No tiem var izvadīt atbilstības pēc indeksa:

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

Koda izpildes rezultāts:

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

Dota virkne:

pythontxt = '12 aaa 34 bbb 56 ccc'

Izvadiet no tās visus skaitļus, izmantojot ciklu.