Նիշերի կրկնության օպերատորներ
Լինում են իրավիճակներ, երբ անհրաժեշտ է նշել, որ
նիշը կրկնվում է տրված քանակով:
Եթե կրկնությունների ճշգրիտ թիվը անհայտ է,
ապա կարելի է պարզապես այն գրել մի քանի անգամ
- 'aaaa': Բայց ի՞նչ անել, եթե պետք է
ասել այսպիսի բան. կրկնել մեկ կամ ավելի
անգամ:
Դրա համար գոյություն ունեն կրկնության օպերատորներ
(քվանտիֆիկատորներ). գումարած + (մեկ և ավելի
անգամ), աստղանիշ * (զրո կամ ավելի
անգամ) և հարցական ? (զրո կամ մեկ անգամ):
Այս օպերատորները գործում են այն նիշի վրա,
որը գտնվում է դրանցից առաջ:
Եկեք նայենք այս օպերատորների աշխատանքին օրինակներով:
Օրինակ
Գտնենք բոլոր ենթատողերը ըստ տառ
'x', տառ 'a' մեկ կամ ավելի
անգամ, տառ 'x' ձևանմուշի:
txt = 'xx xax xaax xaaax xbx'
res = re.sub('xa+x', '!', txt)
print(res)
Կոդի կատարման արդյունք.
'xx ! ! ! xbx'
Օրինակ
Գտնենք բոլոր ենթատողերը ըստ տառ
'x', տառ 'a' զրո կամ ավելի
անգամ, տառ 'x' ձևանմուշի:
txt = 'xx xax xaax xaaax xbx'
res = re.sub('xa*x', '!', txt)
print(res)
Կոդի կատարման արդյունք.
'! ! ! ! xbx'
Օրինակ
Գտնենք բոլոր ենթատողերը ըստ տառ
'x', տառ 'a' զրո կամ մեկ
անգամ, տառ 'x' ձևանմուշի:
txt = 'xx xax xaax xbx'
res = re.sub('xa?x', '!', txt)
print(res)
Կոդի կատարման արդյունք.
'! ! xaax xbx'
Գործնական առաջադրանքներ
Տրված է տող.
txt = 'aa aba abba abbba abca abea'
Գրեք ռեգուլյար արտահայտություն, որն կգտնի
'aba', 'abba', 'abbba'
տողերը ըստ ձևանմուշի. տառ 'a', տառ
'b' ցանկացած քանակով, տառ
'a':
Տրված է տող.
txt = 'aa aba abba abbba abca abea'
Գրեք ռեգուլյար արտահայտություն, որն կգտնի
'aa', 'aba', 'abba',
'abbba' տողերը ըստ ձևանմուշի. տառ
'a', տառ 'b' ցանկացած քանակով
(ներառյալ զրո անգամ), տառ
'a':
Տրված է տող.
txt = 'aa aba abba abbba abca abea'
Գրեք ռեգուլյար արտահայտություն, որն կգտնի
'aa', 'aba' տողերը ըստ ձևանմուշի.
տառ 'a', տառ 'b' մեկ
անգամ կամ զրո, տառ 'a':
Տրված է տող.
txt = 'aa aba abba abbba abca abea'
Գրեք ռեգուլյար արտահայտություն, որն կգտնի
'aa', 'aba', 'abba',
'abbba' տողերը, առանց 'abca'
և 'abea' ներառելու: