finditer მეთოდი პითონის რეგულარულ გამოსახულებებში

finditer მეთოდი განკუთვნილია რეგულარული გამოსახულების ყველა შესაბამისობის იტერატორის მისაღებად. მეთოდის პირველ პარამეტრში ვმითითებთ რეგულარულ გამოსახულებას, რომელსაც ვეძებთ, მეორე პარამეტრში - სტრიქონს, რომელშიც ვეძებთ. მეთოდი ამოწმებს ყველა შესაბამისობას, ეძებს მათ მარცხნიდან მარჯვნივ. მეთოდი აბრუნებს შესაბამისობის ობიექტების იტერატორს. finditer მეთოდის სინტაქსი ასე გამოიყურება:

pythonre.finditer(რა ვეძებოთ, სად ვეძებოთ)

მოდი ვიპოვოთ ყველა ქვესტრიქონი ციფრებით ჩვენს სტრიქონში:

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

კოდის შესრულების შედეგი:

python<callable_iterator object at 0x000002AA891300A0>

ახლა კი გამოვაცხადოთ ცვლადი res, რომლის მნიშვნელობაც იქნება ობიექტი, რომელიც მივიღეთ წინა მაგალითში. შემდეგ გადავუყვეთ მას ციკლით:

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

for el in res:
  print(el)

კოდის შესრულების შემდეგ გამოიტანება ორი match-ობიექტი:

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

ეს ობიექტები შეიცავს ინფორმაციას ყველა შესაბამისობის შესახებ რეგულარულ გამოსახულებასთან ტუპლის სახით. მათგან შესაბამისობების ინდექსით გამოტანა შეიძლება:

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

კოდის შესრულების შედეგი:

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

მოცემულია სტრიქონი:

pythontxt = '12 aaa 34 bbb 56 ccc'

გამოიტანეთ მისგან ყველა რიცხვი ციკლის გამოყენებით.