Match-objekt
Match-objektet representerer et objekt med
informasjon om treff med regulært uttrykk
i en streng. Match-objekt kan fås
ved å bruke følgende metoder: fullmatch,
match,
search.
Informasjon kan hentes fra match-objektet ved hjelp av grunnleggende metoder.
Grunnleggende metoder brukt på match-objektet
| Metode | Formål |
|---|---|
group |
Returnerer gruppe null. |
groups |
Returnerer en tuple av grupper. |
groupdict |
Returnerer en ordbok med navngitte grupper. |
span |
Returnerer første og siste indeks av tuple fra én gruppe. |
start |
Returnerer første indeks av tuple fra én gruppe. |
end |
Returnerer siste indeks av tuple fra én gruppe. |
Eksempel . Match-objekt uten metode
La oss bruke metoden match på vår
streng:
txt = '123 456 789'
res = re.match('\d+', txt)
print(res)
Resultat av kjøring av koden:
<re.Match object; span=(0, 3), match='123'>
Eksempel . Metoden group
La oss nå skrive ut gruppe null
fra Match-objektet med metoden group:
txt = '123 456 789'
res = re.match('\d+', txt)
print(res.group())
Resultat av kjøring av koden:
'123'
Eksempel . Metoden groups
La oss bruke metoden groups på det oppnådde objektet
for å skrive ut tupler av
grupper:
txt = '123 456 789'
res = re.match('(\d)(\d)', txt)
print(res.groups())
Resultat av kjøring av koden:
('1', '2')
Eksempel . Metoden groupdict
For å skrive ut en ordbok med navngitte grupper
kan man bruke metoden groupdict:
res = re.match('(?P<test1>\d)(?P<test2>\d)', txt)
print(res.groupdict())
Resultat av kjøring av koden:
{'test1': '1', 'test2': '2'}
Eksempel . Metoden span
La oss skrive ut en tuple av første og
siste indekser av én tuple. For
dette bruker vi metoden span:
res = re.match('\d+', txt)
print(res.span())
Etter kjøring av koden vil du se en tuple, bestående av to indekser. Men legg merke til at siste verdi er én mer enn sluttindeksen:
(0, 3)
Eksempel . Metodene start og end
For å returnere hver av indeksene
separat, kan man bruke metodene start
og end:
res = re.match('\d+', txt)
print(res.start())
print(res.end())
Resultat av kjøring av koden:
0
3