Match-objektas
Match-objektas yra objektas su
informacija apie atitikmenis su reguliariąja išraiška
eilutėje. Match-objektą galima gauti
taikant šiuos metodus: fullmatch,
match,
search.
Informaciją iš match-objekto galima išgauti naudojant pagrindinius metodus.
Pagrindiniai metodai, taikomi match-objektui
| Metodas | Paskirtis |
|---|---|
group |
Grąžina nulį grupę. |
groups |
Grąžina grupžių kortėžą. |
groupdict |
Grąžina pavadintų grupių žodyną. |
span |
Grąžina pirmąjį ir paskutinį indeksus vienos grupės kortėžo. |
start |
Grąžina pirmąjį vienos grupės kortėžo indeksą. |
end |
Grąžina paskutinį vienos grupės kortėžo indeksą. |
Pavyzdys . Match-objektas be metodo
Pritaikykime metodą match mūsų
eilutei:
pythontxt = '123 456 789'
res = re.match('\d+', txt)
print(res)
Kodo vykdymo rezultatas:
python<re.Match object; span=(0, 3), match='123'>
Pavyzdys . Metodas group
Dabar išveskime nulę grupę
iš Match objekto naudodami metodą group:
pythontxt = '123 456 789'
res = re.match('\d+', txt)
print(res.group())
Kodo vykdymo rezultatas:
python'123'
Pavyzdys . Metodas groups
Pritaikykime gautam objektui
metodą groups grupių kortėžų išvedimui:
pythontxt = '123 456 789'
res = re.match('(\d)(\d)', txt)
print(res.groups())
Kodo vykdymo rezultatas:
python('1', '2')
Pavyzdys . Metodas groupdict
Pavadintų grupių žodyno išvedimui
galima pritaikyti metodą groupdict:
pythonres = re.match('(?P<test1>\d)(?P<test2>\d)', txt)
print(res.groupdict())
Kodo vykdymo rezultatas:
python{'test1': '1', 'test2': '2'}
Pavyzdys . Metodas span
Išveskime kortėžą iš pirmojo ir
paskutiniojo vieno kortėžo indeksų. Tam
naudosime metodą span:
pythonres = re.match('\d+', txt)
print(res.span())
Vykdžius kodą pamatysite kortėžą, sudarytą iš dviejų indeksų. Tačiau atkreipkite dėmesį, kad paskutinė reikšmė yra vienetu didesnė už galutinį indeksą:
python(0, 3)
Pavyzdys . Metodai start ir end
Norint grąžinti kiekvieną indeksą
atskirai, galima pritaikyti metodus start
ir end:
pythonres = re.match('\d+', txt)
print(res.start())
print(res.end())
Kodo vykdymo rezultatas:
python0
3