Match-objekt
Match-objektet repræsenterer et objekt med
information om matches med regulært udtryk
i en streng. Match-objektet kan opnås
ved at anvende følgende metoder: fullmatch,
match,
search.
Information kan udtrækkes fra match-objektet ved hjælp af grundlæggende metoder.
Grundlæggende metoder anvendt på match-objektet
| Metode | Formål |
|---|---|
group |
Returnerer den nulte gruppe. |
groups |
Returnerer en tuple af grupper. |
groupdict |
Returnerer en ordbog af navngivne grupper. |
span |
Returnerer første og sidste indeks af tuplen fra én gruppe. |
start |
Returnerer første indeks af tuplen fra én gruppe. |
end |
Returnerer sidste indeks af tuplen fra én gruppe. |
Eksempel . Match-objekt uden metode
Lad os anvende metoden match på vores
streng:
txt = '123 456 789'
res = re.match('\d+', txt)
print(res)
Resultat af kodeudførelse:
<re.Match object; span=(0, 3), match='123'>
Eksempel . Metoden group
Lad os nu udskrive den nulte gruppe
fra Match-objektet med metoden group:
txt = '123 456 789'
res = re.match('\d+', txt)
print(res.group())
Resultat af kodeudførelse:
'123'
Eksempel . Metoden groups
Lad os anvende metoden groups på det
opnåede objekt for at udskrive tupler af
grupper:
txt = '123 456 789'
res = re.match('(\d)(\d)', txt)
print(res.groups())
Resultat af kodeudførelse:
('1', '2')
Eksempel . Metoden groupdict
For at udskrive en ordbog af navngivne grupper
kan metoden groupdict anvendes:
res = re.match('(?P<test1>\d)(?P<test2>\d)', txt)
print(res.groupdict())
Resultat af kodeudførelse:
{'test1': '1', 'test2': '2'}
Eksempel . Metoden span
Lad os udskrive en tuple af første og
sidste indeks af én tuple. Til
dette bruger vi metoden span:
res = re.match('\d+', txt)
print(res.span())
Efter kodeudførelse vil du se en tuple, bestående af to indekser. Men bemærk dog at den sidste værdi er én større end slutindekset:
(0, 3)
Eksempel . Metoderne start og end
For at returnere hvert af indekserne
hver for sig, kan metoderne start
og end anvendes:
res = re.match('\d+', txt)
print(res.start())
print(res.end())
Resultat af kodeudførelse:
0
3