Obiekt Match
Obiekt Match reprezentuje obiekt z
informacjami o dopasowaniach do wyrażenia regularnego
w ciągu znaków. Obiekt Match można uzyskać,
stosując następujące metody: fullmatch,
match,
search.
Informacje z obiektu match można wyodrębnić za pomocą podstawowych metod.
Podstawowe metody stosowane do obiektu match
| Metoda | Przeznaczenie |
|---|---|
group |
Zwraca grupę zerową. |
groups |
Zwraca krotkę grup. |
groupdict |
Zwraca słownik nazwanych grup. |
span |
Zwraca pierwszy i ostatni indeks krotki jednej grupy. |
start |
Zwraca pierwszy indeks krotki jednej grupy. |
end |
Zwraca ostatni indeks krotki jednej grupy. |
Przykład . Obiekt Match bez metody
Zastosujmy metodę match do naszego
ciągu znaków:
txt = '123 456 789'
res = re.match('\d+', txt)
print(res)
Wynik wykonania kodu:
<re.Match object; span=(0, 3), match='123'>
Przykład . Metoda group
A teraz wyprowadźmy grupę zerową
z obiektu Match za pomocą metody group:
txt = '123 456 789'
res = re.match('\d+', txt)
print(res.group())
Wynik wykonania kodu:
'123'
Przykład . Metoda groups
Zastosujmy do otrzymanego obiektu
metodę groups w celu wyprowadzenia krotek
grup:
txt = '123 456 789'
res = re.match('(\d)(\d)', txt)
print(res.groups())
Wynik wykonania kodu:
('1', '2')
Przykład . Metoda groupdict
Aby wyprowadzić słownik nazwanych grup,
można zastosować metodę groupdict:
res = re.match('(?P<test1>\d)(?P<test2>\d)', txt)
print(res.groupdict())
Wynik wykonania kodu:
{'test1': '1', 'test2': '2'}
Przykład . Metoda span
Wyprowadźmy krotkę z pierwszego i
ostatniego indeksu jednej krotki. Do
tego użyjemy metody span:
res = re.match('\d+', txt)
print(res.span())
Po wykonaniu kodu zobaczysz krotkę, składającą się z dwóch indeksów. Ale przy tym zauważ, że ostatnia wartość jest o jeden większa od końcowego indeksu:
(0, 3)
Przykład . Metody start i end
Aby zwrócić każdy z indeksów
osobno, można zastosować metody start
i end:
res = re.match('\d+', txt)
print(res.start())
print(res.end())
Wynik wykonania kodu:
0
3