Ծալված փակագծերը Python-ի կանոնավոր արտահայտություններում

'+', '*', '?' օպերատորները լավն են, սակայն դրանց օգնությամբ հնարավոր չէ նշել կրկնությունների կոնկրետ թիվ: Այս դեպքում ձեզ կօգնի {} օպերատորը:

Այն աշխատում է հետևյալ կերպ. {5} - հինգ կրկնություն, {2,5} – կրկնվում է երկուսից հինգ (ներառյալ երկուսն ու հինգը), {2,} - կրկնվում է երկու և ավելի անգամ: Նայեք օրինակներին:

Օրինակ

Այս օրինակում որոնման կաղապարն ունի հետևյալ տեսքը. տառ 'x', տառ 'a' մեկ կամ երկու անգամ, տառ 'x':

pythontxt = 'xx xax xaax xaaax'
res = re.sub('xa{1,2}x', '!', txt)

print(res)

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

python'xx ! ! xaaax'

Օրինակ

Այս օրինակում որոնման կաղապարն ունի հետևյալ տեսքը. տառ 'x', տառ 'a' երկու անգամ և ավելի, տառ 'x':

pythontxt = 'xx xax xaax xaaax'
res = re.sub('xa{2,}x', '!', txt)

print(res)

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

python'xx xax ! !'

Օրինակ

Այս օրինակում որոնման կաղապարն ունի հետևյալ տեսքը. տառ 'x', տառ 'a' երեք անգամ, տառ 'x':

pythontxt = 'xx xax xaax xaaax'
res = re.sub('xa{3}x', '!', txt)

print(res)

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

python'xx xax xaax !'

Օրինակ

Այս օրինակում որոնման կաղապարն ունի հետևյալ տեսքը. տառ 'a' տասը անգամ:

pythontxt = 'aaa aaaaaaaaaa aaa'
res = re.sub('a{10}', '!', txt)

print(res)

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

python'aaa ! aaa'

Օրինակ

Այս օրինակում կա հետևյալ կաղապարը. տառ 'x', տառ 'a' երեք անգամ և ավելի քիչ, տառ 'x': Դրա իրականացման համար, 3 թվից առաջ կարելի է թիվը չնշել, այլ պարզապես դնել ստորակետ.

pythontxt = 'xx xax xaax xaaax'
res = re.sub('xa{,3}x', '!', txt)

print(res)

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

python'! ! ! !'

Օրինակ

3-ից առաջ զրոն նույնպես թույլատրելի է.

pythontxt = 'xx xax xaax xaaax'
res = re.sub('xa{0,3}x', '!', txt)

print(res)

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

python'! ! ! !'

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

Задание 1

Տրված է տողը.

pythontxt = 'aa aba abba abbba abbbba abbbbba'

Գրեք կանոնավոր արտահայտություն, որը կգտնի 'abba', 'abbba', 'abbbba' տողերը և միայն դրանք:

Задание 2

Տրված է տողը.

pythontxt = 'aa aba abba abbba abbbba abbbbba'

Գրեք կանոնավոր արտահայտություն, որը կգտնի 'aba' տեսքի տողերը, որոնցում 'b' հանդիպում է 3-ից քիչ անգամ (ներառյալ):

Задание 3

Տրված է տողը.

pythontxt = 'aa aba abba abbba abbbba abbbbba'

Գրեք կանոնավոր արտահայտություն, որը կգտնի 'aba' տեսքի տողերը, որոնցում 'b' հանդիպում է 4-ից շատ անգամ (ներառյալ):