Python Regulyar Ifodalarida finditer Metodi

finditer metodi satrdagi regulyar ifoda bilan mos keladigan barcha mosliklarning iteratorini olingan uchun mo'ljallangan. Metodning birinchi parametrida biz qidiradigan regulyar ifodani ko'rsatamiz, ikkinchi parametrida - qidirilayotgan satrni. Metod barcha mosliklarni tekshiradi, ularni chapdan o'ngga qarab izlab. Metod moslik ob'ektlarining iteratorini qaytaradi. finditer metodining sintaksisi quyidagicha ko'rinadi:

pythonre.finditer(nima qidirish, qayerda qidirish)

Keling, satrimizdagi raqamlar bilan bo'lgan barcha qism satrlarni topaylik:

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

Kodni bajarish natijasi:

python<callable_iterator object at 0x000002AA891300A0>

Keling, res o'zgaruvchisini e'lon qilaylik, uning qiymati oldingi misolda biz olgan ob'ekt bo'ladi. Keyin uni sikl bilan aylantiramiz:

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

for el in res:
  print(el)

Kod bajarilgandan keyin ikkita match-ob'ekti chiqadi:

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

Ushbu ob'ektlar regulyar ifoda bilan barcha mosliklar haqida ma'lumotni kortej ko'rinishida o'z ichiga oladi. Ulardan mosliklarni indeks bo'yicha chiqarish mumkin:

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

Kodni bajarish natijasi:

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

Satr berilgan:

pythontxt = '12 aaa 34 bbb 56 ccc'

Undan barcha raqamlarni sikl yordamida chiqaring.