Match objekt
Match objekt představuje objekt s
informacemi o shodách s regulárním výrazem
v řetězci. Match objekt lze získat
aplikací následujících metod: fullmatch,
match,
search.
Extrahovat informace z match objektu lze pomocí základních metod.
Základní metody aplikované na match objekt
| Metoda | Účel |
|---|---|
group |
Vrací nulovou skupinu. |
groups |
Vrací tuple skupin. |
groupdict |
Vrací slovník pojmenovaných skupin. |
span |
Vrací první a poslední indexy tuple jedné skupiny. |
start |
Vrací první index tuple jedné skupiny. |
end |
Vrací poslední index tuple jedné skupiny. |
Příklad . Match objekt bez metody
Aplikujme metodu match na náš
řetězec:
txt = '123 456 789'
res = re.match('\d+', txt)
print(res)
Výsledek provedení kódu:
<re.Match object; span=(0, 3), match='123'>
Příklad . Metoda group
Nyní vypišme nulovou skupinu
z Match objektu metodou group:
txt = '123 456 789'
res = re.match('\d+', txt)
print(res.group())
Výsledek provedení kódu:
'123'
Příklad . Metoda groups
Aplikujme na získaný objekt
metodu groups pro výpis tuple
skupin:
txt = '123 456 789'
res = re.match('(\d)(\d)', txt)
print(res.groups())
Výsledek provedení kódu:
('1', '2')
Příklad . Metoda groupdict
Pro výpis slovníku pojmenovaných skupin
lze aplikovat metodu groupdict:
res = re.match('(?P<test1>\d)(?P<test2>\d)', txt)
print(res.groupdict())
Výsledek provedení kódu:
{'test1': '1', 'test2': '2'}
Příklad . Metoda span
Vypišme tuple z prvního a
posledního indexu jednoho tuple. K
tomu použijeme metodu span:
res = re.match('\d+', txt)
print(res.span())
Po provedení kódu uvidíte tuple skládající se ze dvou indexů. Ale přitom si všimněte, že poslední hodnota je o jednu větší než koncový index:
(0, 3)
Příklad . Metody start a end
Pro vrácení každého z indexů
samostatně lze aplikovat metody start
a end:
res = re.match('\d+', txt)
print(res.start())
print(res.end())
Výsledek provedení kódu:
0
3