Ծալված փակագծերը Python-ի կանոնավոր արտահայտություններում
'+', '*', '?' օպերատորները
լավն են, սակայն դրանց օգնությամբ հնարավոր չէ նշել
կրկնությունների կոնկրետ թիվ: Այս դեպքում
ձեզ կօգնի {} օպերատորը:
Այն աշխատում է հետևյալ կերպ. {5}
- հինգ կրկնություն, {2,5} – կրկնվում է
երկուսից հինգ (ներառյալ երկուսն ու հինգը), {2,}
- կրկնվում է երկու և ավելի անգամ: Նայեք
օրինակներին:
Օրինակ
Այս օրինակում որոնման կաղապարն ունի հետևյալ տեսքը.
տառ 'x', տառ 'a'
մեկ կամ երկու անգամ, տառ 'x':
txt = 'xx xax xaax xaaax'
res = re.sub('xa{1,2}x', '!', txt)
print(res)
Կոդի կատարման արդյունքը.
'xx ! ! xaaax'
Օրինակ
Այս օրինակում որոնման կաղապարն ունի հետևյալ տեսքը.
տառ 'x', տառ 'a'
երկու անգամ և ավելի, տառ 'x':
txt = 'xx xax xaax xaaax'
res = re.sub('xa{2,}x', '!', txt)
print(res)
Կոդի կատարման արդյունքը.
'xx xax ! !'
Օրինակ
Այս օրինակում որոնման կաղապարն ունի հետևյալ տեսքը.
տառ 'x', տառ 'a'
երեք անգամ, տառ 'x':
txt = 'xx xax xaax xaaax'
res = re.sub('xa{3}x', '!', txt)
print(res)
Կոդի կատարման արդյունքը.
'xx xax xaax !'
Օրինակ
Այս օրինակում որոնման կաղապարն ունի հետևյալ տեսքը.
տառ 'a' տասը անգամ:
txt = 'aaa aaaaaaaaaa aaa'
res = re.sub('a{10}', '!', txt)
print(res)
Կոդի կատարման արդյունքը.
'aaa ! aaa'
Օրինակ
Այս օրինակում կա հետևյալ կաղապարը. տառ
'x', տառ 'a' երեք անգամ և ավելի քիչ,
տառ 'x': Դրա իրականացման համար,
3 թվից առաջ կարելի է թիվը չնշել,
այլ պարզապես դնել ստորակետ.
txt = 'xx xax xaax xaaax'
res = re.sub('xa{,3}x', '!', txt)
print(res)
Կոդի կատարման արդյունքը.
'! ! ! !'
Օրինակ
3-ից առաջ զրոն նույնպես թույլատրելի է.
txt = 'xx xax xaax xaaax'
res = re.sub('xa{0,3}x', '!', txt)
print(res)
Կոդի կատարման արդյունքը.
'! ! ! !'
Գործնական առաջադրանքներ
Տրված է տողը.
txt = 'aa aba abba abbba abbbba abbbbba'
Գրեք կանոնավոր արտահայտություն, որը կգտնի
'abba', 'abbba', 'abbbba'
տողերը և միայն դրանք:
Տրված է տողը.
txt = 'aa aba abba abbba abbbba abbbbba'
Գրեք կանոնավոր արտահայտություն, որը կգտնի
'aba' տեսքի տողերը, որոնցում 'b'
հանդիպում է 3-ից քիչ անգամ (ներառյալ):
Տրված է տողը.
txt = 'aa aba abba abbba abbbba abbbbba'
Գրեք կանոնավոր արտահայտություն, որը կգտնի
'aba' տեսքի տողերը, որոնցում 'b'
հանդիպում է 4-ից շատ անգամ (ներառյալ):