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:

pythontxt = '123 456 789'
res = re.match('\d+', txt)

print(res)

Koodin suorituksen tulos:

python<re.Match object; span=(0, 3), match='123'>

Esimerkki . Group-menetelmä

Esitellään nollaryhmä Match-objektista group-menetelmällä:

pythontxt = '123 456 789'
res = re.match('\d+', txt)

print(res.group())

Koodin suorituksen tulos:

python'123'

Esimerkki . Groups-menetelmä

Sovelletaan saatuun objektiin menetelmää groups ryhmätuplen esittämiseksi:

pythontxt = '123 456 789'
res = re.match('(\d)(\d)', txt)

print(res.groups())

Koodin suorituksen tulos:

python('1', '2')

Esimerkki . Groupdict-menetelmä

Nimitettyjen ryhmien sanakirjan esittämiseksi voi soveltaa menetelmää groupdict:

pythonres = re.match('(?P<test1>\d)(?P<test2>\d)', txt)
print(res.groupdict())

Koodin suorituksen tulos:

python{'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ää:

pythonres = 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:

python(0, 3)

Esimerkki . Start- ja end-menetelmät

Palauttaaksesi kunkin indeksin erikseen, voi soveltaa menetelmiä start ja end:

pythonres = re.match('\d+', txt)
print(res.start())
print(res.end())

Koodin suorituksen tulos:

python0
3

Katso myös

  • match-menetelmä re-moduulissa,
    joka etsii säännöllisen lausekkeen osumaa merkkijonon alusta
  • fullmatch-menetelmä re-moduulissa,
    joka etsii kaikki säännöllisen lausekkeen osumat merkkijonossa
  • search-menetelmä re-moduulissa,
    joka etsii ensimmäisen säännöllisen lausekkeen osuman merkkijonossa