Match-объект
Match-объект иридигидаги мунтазам ифода
мослашлар ҳақида маълумотли объектни ифодалайди. Match-объектни куйидаги методларни қўллаш орқали олиш мумкин: fullmatch,
match,
search.
Match-объектдан маълумот олиш учун асосий методлардан фойдаланиш мумкин.
Match-объектга қўлланиладиган асосий методлар
| Метод | Вазифа |
|---|---|
group |
Нол кармани қайтаради. |
groups |
Карманлардан иборат кортежни қайтаради. |
groupdict |
Номланган карманлардан иборат луғатни қайтаради. |
span |
Битта карман кортежининг биринчи ва охирги индексларини қайтаради. |
start |
Битта карман кортежининг биринчи индексини қайтаради. |
end |
Битта карман кортежининг охирги индексини қайтаради. |
Мисол . Методсиз Match-объект
Келинг, бизнинг иридимизга match метожни қўллаймиз:
txt = '123 456 789'
res = re.match('\d+', txt)
print(res)
Кодни ишга тушириш натижаси:
<re.Match object; span=(0, 3), match='123'>
Мисол . group метожи
Энди Match object дан group метожи орқали нол кармани чиқарайлик:
txt = '123 456 789'
res = re.match('\d+', txt)
print(res.group())
Кодни ишга тушириш натижаси:
'123'
Мисол . groups метожи
Келинг, олинган объектга карманлар кортежларини чиқариш учун groups метожни қўллаймиз:
txt = '123 456 789'
res = re.match('(\d)(\d)', txt)
print(res.groups())
Кодни ишга тушириш натижаси:
('1', '2')
Мисол . groupdict метожи
Номланган карманлар луғатини чиқариш учун groupdict метожни қўллаш мумкин:
res = re.match('(?P<test1>\d)(?P<test2>\d)', txt)
print(res.groupdict())
Кодни ишга тушириш натижаси:
{'test1': '1', 'test2': '2'}
Мисол . span метожи
Келинг, битта кортежнинг биринчи ва охирги индекслари кортежини чиқарайлик. Бунинг учун биз span метожидан фойдаланамиз:
res = re.match('\d+', txt)
print(res.span())
Кодни ишга туширгандан сўнг сиз икки индексдан иборат кортежни кўрасиз. Лекин шуни эътиборга олингки, охирги қиймат охирги индексдан битта катта:
(0, 3)
Мисол . start ва end методлари
Ҳар бир индексни алоҳида қайтариш учун start
ва end методларини қўллаш мумкин:
res = re.match('\d+', txt)
print(res.start())
print(res.end())
Кодни ишга тушириш натижаси:
0
3