Match-objekti
Match-objekti edustaa objektia, joka sisältää
tietoja säännöllisen lausekkeen
osumista merkkijonossa. Match-objektin voi saada
soveltamalla seuraavia menetelmiä: fullmatch,
match,
search.
Tietoja match-objektista voi poimia käyttämällä perusmenetelmiä.
Match-objektiin sovellettavat perusmenetelmät
| Menetelmä | Tarkoitus |
|---|---|
group |
Palauttaa nollaryhmän. |
groups |
Palauttaa tuple-ryhmistä. |
groupdict |
Palauttaa sanakirjan nimettyjen ryhmien arvoista. |
span |
Palauttaa yhden ryhmän ensimmäisen ja viimeisen indeksin tuplena. |
start |
Palauttaa yhden ryhmän ensimmäisen indeksin. |
end |
Palauttaa yhden ryhmän viimeisen indeksin. |
Esimerkki . Match-objekti ilman menetelmää
Sovelletaan menetelmää match merkkijonoomme:
txt = '123 456 789'
res = re.match('\d+', txt)
print(res)
Koodin suorituksen tulos:
<re.Match object; span=(0, 3), match='123'>
Esimerkki . Group-menetelmä
Esitellään nollaryhmä
Match-objektista group-menetelmällä:
txt = '123 456 789'
res = re.match('\d+', txt)
print(res.group())
Koodin suorituksen tulos:
'123'
Esimerkki . Groups-menetelmä
Sovelletaan saatuun objektiin
menetelmää groups ryhmätuplen esittämiseksi:
txt = '123 456 789'
res = re.match('(\d)(\d)', txt)
print(res.groups())
Koodin suorituksen tulos:
('1', '2')
Esimerkki . Groupdict-menetelmä
Nimitettyjen ryhmien sanakirjan esittämiseksi
voi soveltaa menetelmää groupdict:
res = re.match('(?P<test1>\d)(?P<test2>\d)', txt)
print(res.groupdict())
Koodin suorituksen tulos:
{'test1': '1', 'test2': '2'}
Esimerkki . Span-menetelmä
Esitellään yhden ryhmän ensimmäinen ja
viimeinen indeksi tuple-na. Tätä varten
käytämme span-menetelmää:
res = re.match('\d+', txt)
print(res.span())
Koodin suorituksen jälkeen näet tuplen, joka koostuu kahdesta indeksistä. Mutta huomaa, että viimeinen arvo on yhdellä suurempi kuin loppuindeksi:
(0, 3)
Esimerkki . Start- ja end-menetelmät
Palauttaaksesi kunkin indeksin
erikseen, voi soveltaa menetelmiä start
ja end:
res = re.match('\d+', txt)
print(res.start())
print(res.end())
Koodin suorituksen tulos:
0
3