re მოდულის finditer მეთოდი
re მოდულის finditer მეთოდი
აბრუნებს იტერატორს რეგულარული გამოსახულების
ყველა შესაბამისობის სტრიქონში. მეთოდის პირველ პარამეტრში მივუთითებთ
რეგულარულ გამოსახულებას. მეორე პარამეტრში ვანიჭებთ
სტრიქონს, რომელშიც ვეძებთ რეგულარულ გამოსახულებას. მესამე
არასავალდებულო პარამეტრში შეგვიძლია მივუთითოთ დროშები.
მეთოდი ამოწმებს ყველა შესაბამისობას, ეძებს მათ
მარცხნიდან მარჯვნივ.
სინტაქსი
import re
re.finditer(რეგულარული_გამოსახულება, სტრიქონი, [დროშები])
მაგალითი
მოდი ვიპოვოთ ყველა ქვესტრიქონი ციფრებით ჩვენს სტრიქონში:
txt = 'aaaa 123 bbbb 456'
res = re.finditer('\d+', txt)
print(res)
კოდის შესრულების შედეგი:
<callable_iterator object at 0x000002AA891300A0>
მაგალითი
ახლა კი განვაცხადოთ ცვლადი res,
რომლის მნიშვნელობაც იქნება ობიექტი, რომელიც მივიღეთ
წინა მაგალითში. შემდეგ გადავუყვეთ
მას ციკლით:
txt = 'aaaa 123 bbbb 456'
res = re.finditer('\d+', txt)
for el in res:
print(el)
კოდის შესრულების შემდეგ მივიღებთ ორ ობიექტს Match object:
<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 = 'aaaa 123 bbbb 456'
res = re.finditer('(\d)(\d)', txt)
for el in res:
print(el[0], el[1], el[2])
კოდის შესრულების შემდეგ მივიღებთ ნულოვან ჯგუფს, ანუ მთელ ქვესტრიქონს, და ასევე პირველ და მეორე სიმბოლოს ამ ქვესტრიქონიდან:
'12' '1' '2'
'45' '4' '5'
ასევე იხილეთ
-
findallმეთოდიreმოდულის,
რომელიც აბრუნებს ჩამონათვალს ყველა შესაბამისობის სტრიქონში -
searchმეთოდიreმოდულის,
რომელიც ეძებს პირველ შესაბამისობას რეგულარულ გამოსახულებასთან სტრიქონში -
matchმეთოდიreმოდულის,
რომელიც ეძებს შესაბამისობას რეგულარულ გამოსახულებასთან სტრიქონის დასაწყისში -
fullmatchმეთოდიreმოდულის,
რომელიც ეძებს ყველა შესაბამისობას რეგულარულ გამოსახულებასთან სტრიქონში -
Match objectობიექტიreმოდულის,
რომელიც შეიცავს ინფორმაციას შესაბამისობების შესახებ რეგულარულ გამოსახულებასთან -
splitმეთოდიreმოდულის,
რომელიც ყოფს სტრიქონს ჩამონათვალად მითითებული გამყოფის მიხედვით