finditer მეთოდი პითონის რეგულარულ გამოსახულებებში
finditer მეთოდი განკუთვნილია
რეგულარული გამოსახულების ყველა შესაბამისობის
იტერატორის მისაღებად. მეთოდის პირველ პარამეტრში
ვმითითებთ რეგულარულ გამოსახულებას, რომელსაც ვეძებთ,
მეორე პარამეტრში - სტრიქონს, რომელშიც ვეძებთ. მეთოდი
ამოწმებს ყველა შესაბამისობას,
ეძებს მათ მარცხნიდან მარჯვნივ. მეთოდი აბრუნებს
შესაბამისობის ობიექტების იტერატორს.
finditer მეთოდის სინტაქსი
ასე გამოიყურება:
re.finditer(რა ვეძებოთ, სად ვეძებოთ)
მოდი ვიპოვოთ ყველა ქვესტრიქონი ციფრებით ჩვენს სტრიქონში:
txt = 'aaaa 123 bbbb 456'
print(re.finditer('\d+', txt))
კოდის შესრულების შედეგი:
<callable_iterator object at 0x000002AA891300A0>
ახლა კი გამოვაცხადოთ ცვლადი res,
რომლის მნიშვნელობაც იქნება ობიექტი, რომელიც მივიღეთ
წინა მაგალითში. შემდეგ გადავუყვეთ მას ციკლით:
txt = 'aaaa 123 bbbb 456'
res = re.finditer('\d+', txt)
for el in res:
print(el)
კოდის შესრულების შემდეგ გამოიტანება ორი match-ობიექტი:
<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 = '12 aaa 34 bbb 56 ccc'
გამოიტანეთ მისგან ყველა რიცხვი ციკლის გამოყენებით.