'Կամ' հրամանը Python-ի կանոնավոր արտահայտություններում
'|' հրամանը, որն իրենից ներկայացնում է
'կամ' հրամանի ավելի հզոր տարբերակ
[ ]-ի համեմատ: Այս հրամանը
թույլ է տալիս բաժանել կանոնավոր արտահայտությունը մի քանի
մասի: Այս դեպքում փնտրվողը կարող է համապատասխանել
կամ կանոնավոր արտահայտության մի մասին, կամ
մյուսին: Դիտարկենք օրինակներով:
Օրինակ
Այս օրինակում որոնման օրինակը հետևյալն է.
երեք 'a' տառ կամ երեք
'b' տառ:
txt = 'aaa bbb abb'
res = re.sub('a{3}|b{3}', '!', txt)
print(res)
Ծրագրի կատարման արդյունքը.
'! ! abb'
Օրինակ
Այս օրինակում որոնման օրինակը հետևյալն է.
երեք 'a' տառ կամ 1-ից
սկսած և ավելի շատ 'b' տառ:
txt = 'aaa bbb bbbb bbbbb axx'
res = re.sub('a{3}|b+', '!', txt)
print(res)
Ծրագրի կատարման արդյունքը.
'! ! ! ! axx'
Օրինակ
Այս օրինակում որոնման օրինակը հետևյալն է. մեկ կամ ավելի տառ կամ երեք թվանշան:
txt = 'a ab abc 1 12 123'
res = re.sub('[a-z]+|\d{3}', '!', txt)
print(res)
Ծրագրի կատարման արդյունքը.
'! ! ! 1 12 !'
Օրինակ
Ուղղահայաց գիծը կարող է բաժանել կանոնավոր արտահայտությունը ոչ թե երկու մասի, այլ ցանկացած քանակի մասերի.
txt = 'aaa bbb ccc ddd'
res = re.sub('a+|b+|c+', '!', txt)
print(res)
Ծրագրի կատարման արդյունքը.
'! ! ! ddd'
Օրինակ
Եթե ուղղահայաց գիծը գտնվում է կլոր
փակագծերի ներսում, ապա 'կամ'-ը աշխատում է միայն
այդ փակագծերի ներսում:
Որպես օրինակ եկեք գտնենք տողերը
հետևյալ օրինակով. սկզբում կա կամ
'a', կամ 'b' մեկ կամ ավելի
անգամ, ապա երկու 'x' տառ:
txt = 'axx bxx bbxx exx'
res = re.sub('(a|b+)xx', '!', txt)
print(res)
Ծրագրի կատարման արդյունքը.
'! ! ! exx'
Գործնական առաջադրանքներ
Տրված է տող.
txt = 'aeeea aeea aea axa axxa axxxa'
Գրեք կանոնավոր արտահայտություն, որը կգտնի տողերը
հետևյալ օրինակով. եզրերին կան 'a' տառեր,
իսկ նրանց միջև - կամ 'e' տառ ցանկացած քանակությամբ
անգամ կամ 'x' տառ ցանկացած քանակությամբ անգամ:
Տրված է տող.
txt = 'aeeea aeea aea axa axxa axxxa'
Գրեք կանոնավոր արտահայտություն, որը կգտնի տողերը
հետևյալ օրինակով. եզրերին կան 'a' տառեր,
իսկ նրանց միջև - կամ 'e' տառ երկու անգամ կամ 'x' տառ
ցանկացած քանակությամբ անգամ: