Նիշերի կրկնության օպերատորներ

Լինում են իրավիճակներ, երբ անհրաժեշտ է նշել, որ նիշը կրկնվում է տրված քանակով: Եթե կրկնությունների ճշգրիտ թիվը անհայտ է, ապա կարելի է պարզապես այն գրել մի քանի անգամ - 'aaaa': Բայց ի՞նչ անել, եթե պետք է ասել այսպիսի բան. կրկնել մեկ կամ ավելի անգամ:

Դրա համար գոյություն ունեն կրկնության օպերատորներ (քվանտիֆիկատորներ). գումարած + (մեկ և ավելի անգամ), աստղանիշ * (զրո կամ ավելի անգամ) և հարցական ? (զրո կամ մեկ անգամ): Այս օպերատորները գործում են այն նիշի վրա, որը գտնվում է դրանցից առաջ:

Եկեք նայենք այս օպերատորների աշխատանքին օրինակներով:

Օրինակ

Գտնենք բոլոր ենթատողերը ըստ տառ 'x', տառ 'a' մեկ կամ ավելի անգամ, տառ 'x' ձևանմուշի:

pythontxt = 'xx xax xaax xaaax xbx'
res = re.sub('xa+x', '!', txt)

print(res)

Կոդի կատարման արդյունք.

python'xx ! ! ! xbx'

Օրինակ

Գտնենք բոլոր ենթատողերը ըստ տառ 'x', տառ 'a' զրո կամ ավելի անգամ, տառ 'x' ձևանմուշի:

pythontxt = 'xx xax xaax xaaax xbx'
res = re.sub('xa*x', '!', txt)

print(res)

Կոդի կատարման արդյունք.

python'! ! ! ! xbx'

Օրինակ

Գտնենք բոլոր ենթատողերը ըստ տառ 'x', տառ 'a' զրո կամ մեկ անգամ, տառ 'x' ձևանմուշի:

pythontxt = 'xx xax xaax xbx'
res = re.sub('xa?x', '!', txt)

print(res)

Կոդի կատարման արդյունք.

python'! ! xaax xbx'

Գործնական առաջադրանքներ

Задание 1

Տրված է տող.

pythontxt = 'aa aba abba abbba abca abea'

Գրեք ռեգուլյար արտահայտություն, որն կգտնի 'aba', 'abba', 'abbba' տողերը ըստ ձևանմուշի. տառ 'a', տառ 'b' ցանկացած քանակով, տառ 'a':

Задание 2

Տրված է տող.

pythontxt = 'aa aba abba abbba abca abea'

Գրեք ռեգուլյար արտահայտություն, որն կգտնի 'aa', 'aba', 'abba', 'abbba' տողերը ըստ ձևանմուշի. տառ 'a', տառ 'b' ցանկացած քանակով (ներառյալ զրո անգամ), տառ 'a':

Задание 3

Տրված է տող.

pythontxt = 'aa aba abba abbba abca abea'

Գրեք ռեգուլյար արտահայտություն, որն կգտնի 'aa', 'aba' տողերը ըստ ձևանմուշի. տառ 'a', տառ 'b' մեկ անգամ կամ զրո, տառ 'a':

Задание 4

Տրված է տող.

pythontxt = 'aa aba abba abbba abca abea'

Գրեք ռեգուլյար արտահայտություն, որն կգտնի 'aa', 'aba', 'abba', 'abbba' տողերը, առանց 'abca' և 'abea' ներառելու: