Match-аб'ект
Match-аб'ект уяўляе сабой аб'ект з
інфармацыяй аб супадзеннях з рэгулярным выразам
у радку. Match-аб'ект можна атрымаць,
прымясіўшы наступныя метады: fullmatch,
match,
search.
Здабыць інфармацыю з match-аб'екта можна з дапамогай асноўных метадаў.
Асноўныя метады, якія прымяняюцца да match-аб'екта
| Метад | Прызначэнне |
|---|---|
group |
Вяртае нулявы кішэню. |
groups |
Вяртае картэж з кішэняў. |
groupdict |
Вяртае слоўнік з іменаваных кішэняў. |
span |
Вяртае першы і апошні індэксы картэжа з аднаго кішэню. |
start |
Вяртае першы індэкс картэжа з аднаго кішэню. |
end |
Вяртае апошні індэкс картэжа з аднаго кішэню. |
Прыклад . Match-аб'ект без метаду
Давайце прымясім метад match да нашага
радка:
txt = '123 456 789'
res = re.match('\d+', txt)
print(res)
Вынік выканання кода:
<re.Match object; span=(0, 3), match='123'>
Прыклад . Метад group
А цяпер давайце вывядзем нулявы кішэню
з Match object метадам group:
txt = '123 456 789'
res = re.match('\d+', txt)
print(res.group())
Вынік выканання кода:
'123'
Прыклад . Метад groups
Давайце да атрыманага аб'екта прымясім
метад groups для вываду картэжаў
кішэняў:
txt = '123 456 789'
res = re.match('(\d)(\d)', txt)
print(res.groups())
Вынік выканання кода:
('1', '2')
Прыклад . Метад groupdict
Для вываду слоўніка іменаваных кішэняў
можна прымясіць метад groupdict:
res = re.match('(?P<test1>\d)(?P<test2>\d)', txt)
print(res.groupdict())
Вынік выканання кода:
{'test1': '1', 'test2': '2'}
Прыклад . Метад span
Давайце вывядзем картэж з першага і
апошняга індэксаў аднаго картэжа. Для
гэтага мы выкарыстаем метад span:
res = re.match('\d+', txt)
print(res.span())
Пасля выканання кода вы ўбачыце картэж, які складаецца з двух індэксаў. Але пры гэтым заўважце, што апошняе значэнне на адзінку больш за канчатковы індэкс:
(0, 3)
Прыклад . Метады start і end
Каб вярнуць кожны з індэксаў па
асобна, можна прымясіць метады start
і end:
res = re.match('\d+', txt)
print(res.start())
print(res.end())
Вынік выканання кода:
0
3