Match-օբյեկտ
Match-օբյեկտը տողում կանոնավոր արտահայտության
համընկնումների տեղեկատվություն պարունակող օբյեկտ է: Match-օբյեկտ կարելի է ստանալ
կիրառելով հետևյալ մեթոդները՝ fullmatch,
match,
search:
Տեղեկատվությունը match-օբյեկտից կարելի է հանել հիմնական մեթոդների օգնությամբ:
Հիմնական մեթոդներ, որոնք կիրառվում են match-օբյեկտի նկատմամբ
| Մեթոդ | Նպատակ |
|---|---|
group |
Վերադարձնում է զրոյական խումբ: |
groups |
Վերադարձնում է խմբերի tuple: |
groupdict |
Վերադարձնում է անվանված խմբերի բառարան: |
span |
Վերադարձնում է մեկ խմբի tuple-ի առաջին և վերջին ինդեքսները: |
start |
Վերադարձնում է մեկ խմբի tuple-ի առաջին ինդեքսը: |
end |
Վերադարձնում է մեկ խմբի tuple-ի վերջին ինդեքսը: |
Օրինակ . Match-օբյեկտ առանց մեթոդի
Եկեք կիրառենք match մեթոդը մեր
տողի նկատմամբ:
txt = '123 456 789'
res = re.match('\d+', txt)
print(res)
Կոդի կատարման արդյունքը:
<re.Match object; span=(0, 3), match='123'>
Օրինակ . group մեթոդ
Իսկ այժմ եկեք արտածենք զրոյական խումբը
Match օբյեկտից group մեթոդով:
txt = '123 456 789'
res = re.match('\d+', txt)
print(res.group())
Կոդի կատարման արդյունքը:
'123'
Օրինակ . groups մեթոդ
Եկեք ստացված օբյեկտի նկատմամբ կիրառենք
groups մեթոդը խմբերի tuple-ները
արտածելու համար:
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 մեթոդ
Եկեք արտածենք մեկ tuple-ի առաջին և
վերջին ինդեքսների tuple-ը: Դրա համար
մենք կօգտագործենք span մեթոդը:
res = re.match('\d+', txt)
print(res.span())
Կոդի կատարումից հետո դուք կտեսնեք երկու ինդեքսներից բաղկացած tuple: Սակայն միաժամանակ նկատեք, որ վերջին արժեքը մեկով մեծ է վերջնական ինդեքսից:
(0, 3)
Օրինակ . start և end մեթոդներ
Յուրաքանչյուր ինդեքսն առանձին վերադարձնելու
համար կարելի է կիրառել start
և end մեթոդները:
res = re.match('\d+', txt)
print(res.start())
print(res.end())
Կոդի կատարման արդյունքը:
0
3