Match-object
Een Match-object vertegenwoordigt een object met
informatie over overeenkomsten met een reguliere expressie
in een string. Een Match-object kan worden verkregen
door de volgende methoden toe te passen: fullmatch,
match,
search.
Informatie uit een match-object kan worden geëxtraheerd met behulp van de basismethoden.
Basismethoden toegepast op een match-object
| Methode | Doel |
|---|---|
group |
Geeft de nulde groep terug. |
groups |
Geeft een tuple van groepen terug. |
groupdict |
Geeft een woordenboek van benoemde groepen terug. |
span |
Geeft de eerste en laatste index van een tuple van één groep. |
start |
Geeft de eerste index van een tuple van één groep. |
end |
Geeft de laatste index van een tuple van één groep. |
Voorbeeld . Match-object zonder methode
Laten we de methode match op onze
string toepassen:
txt = '123 456 789'
res = re.match('\d+', txt)
print(res)
Resultaat van de code-uitvoering:
<re.Match object; span=(0, 3), match='123'>
Voorbeeld . Methode group
Laten we nu de nulde groep
uit het Match object weergeven met de methode group:
txt = '123 456 789'
res = re.match('\d+', txt)
print(res.group())
Resultaat van de code-uitvoering:
'123'
Voorbeeld . Methode groups
Laten we op het verkregen object de
methode groups toepassen om de tuples
van groepen weer te geven:
txt = '123 456 789'
res = re.match('(\d)(\d)', txt)
print(res.groups())
Resultaat van de code-uitvoering:
('1', '2')
Voorbeeld . Methode groupdict
Om een woordenboek van benoemde groepen weer te geven
kan de methode groupdict worden toegepast:
res = re.match('(?P<test1>\d)(?P<test2>\d)', txt)
print(res.groupdict())
Resultaat van de code-uitvoering:
{'test1': '1', 'test2': '2'}
Voorbeeld . Methode span
Laten we een tuple van de eerste en
laatste index van één tuple weergeven. Hiervoor
gebruiken we de methode span:
res = re.match('\d+', txt)
print(res.span())
Na het uitvoeren van de code ziet u een tuple, bestaat uit twee indexen. Maar let op dat de laatste waarde één eenheid groter is dan de eindindex:
(0, 3)
Voorbeeld . Methoden start en end
Om elke index
afzonderlijk terug te geven, kunnen de methoden start
en end worden toegepast:
res = re.match('\d+', txt)
print(res.start())
print(res.end())
Resultaat van de code-uitvoering:
0
3