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 объектісін аламыз:
<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модулінің,
ол жолды көрсетілген бөлгіш бойынша тізімге бөледі