Match-objektum
A Match-objektum egy olyan objektum, amely
információt tartalmaz a reguláris kifejezéssel
való egyezésekről egy sztringben. Match-objektumot a
következő módszerek alkalmazásával kaphatunk: fullmatch,
match,
search.
Információt a match-objektumból a alapvető módszerek segítségével nyerhetünk ki.
A match-objektumra alkalmazott alapvető módszerek
| Módszer | Feladat |
|---|---|
group |
Visszaadja a nulladik csoportot. |
groups |
Visszaadja a csoportokból álló tuple-t. |
groupdict |
Visszaadja a elnevezett csoportokból álló szótárát. |
span |
Visszaadja egy csoport tuple-jának első és utolsó indexét. |
start |
Visszaadja egy csoport tuple-jának első indexét. |
end |
Visszaadja egy csoport tuple-jának utolsó indexét. |
Példa . Match-objektum módszer nélkül
Alkalmazzuk a match módszert a
sztringünkre:
txt = '123 456 789'
res = re.match('\d+', txt)
print(res)
A kód végrehajtásának eredménye:
<re.Match object; span=(0, 3), match='123'>
Példa . group módszer
Most pedig jelenítsük meg a nulladik csoportot
a Match objektumból a group módszerrel:
txt = '123 456 789'
res = re.match('\d+', txt)
print(res.group())
A kód végrehajtásának eredménye:
'123'
Példa . groups módszer
Alkalmazzuk a kapott objektumra a
groups módszert a csoportok tuple-jainak
megjelenítéséhez:
txt = '123 456 789'
res = re.match('(\d)(\d)', txt)
print(res.groups())
A kód végrehajtásának eredménye:
('1', '2')
Példa . groupdict módszer
Az elnevezett csoportok szótárának megjelenítéséhez
alkalmazhatjuk a groupdict módszert:
res = re.match('(?P<test1>\d)(?P<test2>\d)', txt)
print(res.groupdict())
A kód végrehajtásának eredménye:
{'test1': '1', 'test2': '2'}
Példa . span módszer
Jelenítsük meg egy tuple első és
utolsó indexeinek tuple-ját. Ehhez
a span módszert használjuk:
res = re.match('\d+', txt)
print(res.span())
A kód végrehajtása után egy két indexből álló tuple-t fog látni. De vegye figyelembe, hogy az utolsó érték eggyel nagyobb, mint a végső index:
(0, 3)
Példa . start és end módszerek
Ahhoz, hogy mindegyik indexet külön-külön
kapjuk meg, alkalmazhatjuk a start
és end módszereket:
res = re.match('\d+', txt)
print(res.start())
print(res.end())
A kód végrehajtásának eredménye:
0
3
Lásd még
-
a
matchmódszer aremodulból,
amely a reguláris kifejezéssel való egyezést keresi a sztring elején -
a
fullmatchmódszer aremodulból,
amely az összes egyezést keresi a reguláris kifejezéssel a sztringben -
a
searchmódszer aremodulból,
amely az első egyezést keresi a reguláris kifejezéssel a sztringben