Match-ob'ekt
Match-ob'ekt
muntazam ifoda
bilan qatordagi mosliklar haqida ma'lumotni ifodalovchi ob'ektdir. Match-ob'ektni quyidagi metodlarni qo'llash orqali olish mumkin: fullmatch,
match,
search.
Match-ob'ektdan ma'lumotni asosiy metodlar yordamida ajratib olish mumkin.
Match-ob'ektga nisbatan qo'llaniladigan asosiy metodlar
| Metod | Maqsad |
|---|---|
group |
Nolchi karmanni qaytaradi. |
groups |
Karmanlardan iborat kortejni qaytaradi. |
groupdict |
Nomi berilgan karmanlardan iborat lug'atni qaytaradi. |
span |
Bitta karman kortejining birinchi va oxirgi indekslarini qaytaradi. |
start |
Bitta karman kortejining birinchi indeksini qaytaradi. |
end |
Bitta karman kortejining oxirgi indeksini qaytaradi. |
Misol . Metodsiz Match-ob'ekt
Keling, match metodini bizning qatorimizga qo'llaymiz:
txt = '123 456 789'
res = re.match('\d+', txt)
print(res)
Kodni bajarish natijasi:
<re.Match object; span=(0, 3), match='123'>
Misol . Group metodi
Endi Match objectdan group metodi yordamida nolchi karmanni chiqaramiz:
txt = '123 456 789'
res = re.match('\d+', txt)
print(res.group())
Kodni bajarish natijasi:
'123'
Misol . Groups metodi
Keling, olingan ob'ektga karmanlar kortejini chiqarish uchun groups metodini qo'llaymiz:
txt = '123 456 789'
res = re.match('(\d)(\d)', txt)
print(res.groups())
Kodni bajarish natijasi:
('1', '2')
Misol . Groupdict metodi
Nomi berilgan karmanlar lug'atini chiqarish uchun groupdict metodini qo'llash mumkin:
res = re.match('(?P<test1>\d)(?P<test2>\d)', txt)
print(res.groupdict())
Kodni bajarish natijasi:
{'test1': '1', 'test2': '2'}
Misol . Span metodi
Keling, bitta kortejning birinchi va oxirgi indekslaridan iborat kortejni chiqaramiz. Buning uchun biz span metodidan foydalanamiz:
res = re.match('\d+', txt)
print(res.span())
Kod bajarilgandan so'ng siz ikkita indeksdan iborat kortejni ko'rasiz. Ammo shu bilan birga, oxirgi qiymat yakuniy indeksdan bitta katta ekanligini e'tiboringizga qaratishingiz kerak:
(0, 3)
Misol . Start va end metodlari
Har bir indeksni alohida qaytarish uchun start va end metodlarini qo'llash mumkin:
res = re.match('\d+', txt)
print(res.start())
print(res.end())
Kodni bajarish natijasi:
0
3