Kitu cha Match
Kitu cha Match kinawakilisha kitu chenye
taarifa kuhusu mechi za usemi wa kawaida
katika mfuatano wa herufi. Kitu cha Match kinaweza kupatikana
kwa kutumia mbinu zifuatazo: fullmatch,
match,
search.
Taarifa zinaweza kutolewa kutoka kwenye kitu cha Match kwa kutumia mbinu kuu.
Mbinu kuu, zinazotumika kwenye kitu cha Match
| Mbinu | Madhumuni |
|---|---|
group |
Hurejesha mfuko wa sifuri. |
groups |
Hurejesha tuple ya mifuko. |
groupdict |
Hurejesha kamusi ya mifuko iliyopewa majina. |
span |
Hurejesha faharasa ya kwanza na ya mwisho ya tuple ya mfuko mmoja. |
start |
Hurejesha faharasa ya kwanza ya tuple ya mfuko mmoja. |
end |
Hurejesha faharasa ya mwisho ya tuple ya mfuko mmoja. |
Mfano . Kitu cha Match bila mbinu
Wacha tutumie mbinu match kwenye
mfuatano wetu wa herufi:
txt = '123 456 789'
res = re.match('\d+', txt)
print(res)
Matokeo ya utekelezaji wa kodi:
<re.Match object; span=(0, 3), match='123'>
Mfano . Mbinu group
Sasa hebu tuonyeshe mfuko wa sifuri
kutoka kwenye Kitu cha Match kwa kutumia mbinu group:
txt = '123 456 789'
res = re.match('\d+', txt)
print(res.group())
Matokeo ya utekelezaji wa kodi:
'123'
Mfano . Mbinu groups
Wacha kwenye kitu kilichopatikana tutumie
mbinu groups kwa kuonyesha tuple
za mifuko:
txt = '123 456 789'
res = re.match('(\d)(\d)', txt)
print(res.groups())
Matokeo ya utekelezaji wa kodi:
('1', '2')
Mfano . Mbinu groupdict
Kwa kuonyesha kamusi ya mifuko iliyopewa majina
inaweza kutumika mbinu groupdict:
res = re.match('(?P<test1>\d)(?P<test2>\d)', txt)
print(res.groupdict())
Matokeo ya utekelezaji wa kodi:
{'test1': '1', 'test2': '2'}
Mfano . Mbinu span
Wacha tuonyeshe tuple ya faharasa za kwanza na
za mwisho za tuple moja. Kwa
hili tutatumia mbinu span:
res = re.match('\d+', txt)
print(res.span())
Baada ya utekelezaji wa kodi utaona tuple, inayojumuisha faharasa mbili. Lakini wakati huo huo zingatia kuwa thamani ya mwisho ni za kimoja kuliko faharasa ya mwisho:
(0, 3)
Mfano . Mbinu start na end
Ili kurejesha kila faharasa
kwa kutengwa, inaweza kutumika mbinu start
na end:
res = re.match('\d+', txt)
print(res.start())
print(res.end())
Matokeo ya utekelezaji wa kodi:
0
3