'Կամ' հրամանը JavaScript-ի կանոնավոր արտահայտություններում

Այս դասում մենք կվերլուծենք '|' հրամանը, որը ներկայացնում է [ ] հրամանից ավելի հզոր տարբերակ 'կամ': Այս հրամանը թույլ է տալիս բաժանել կանոնավոր արտահայտությունը մի քանի մասերի: Այդ դեպքում փնտրվողը կարող է համապատասխանել կամ մեկ մասին, կամ մյուսին: Եկեք նայենք օրինակներով:

Օրինակ

Այս օրինակում որոնման ձևանմուշը հետևյալն է՝ երեք տառ 'a' կամ երեք տառ 'b':

javascriptlet str = 'aaa bbb abb';
let res = str.replace(/a{3}|b{3}/g, '!');

Արդյունքում փոփոխականի մեջ կգրվի հետևյալը.

javascript'! ! abb'

Օրինակ

Այս օրինակում որոնման ձևանմուշը հետևյալն է՝ երեք տառ 'a' կամ 1 և ավելի տառ 'b':

javascriptlet str = 'aaa bbb bbbb bbbbb axx';
let res = str.replace(/a{3}|b+/g, '!');

Արդյունքում փոփոխականի մեջ կգրվի հետևյալը.

javascript'! ! ! ! axx'

Օրինակ

Այս օրինակում որոնման ձևանմուշը հետևյալն է՝ մեկ կամ ավելի տառ կամ երեք թվանշան:

javascriptlet str = 'a ab abc 1 12 123';
let res = str.replace(/[a-z]+|\d{3}/g, '!');

Արդյունքում փոփոխականի մեջ կգրվի հետևյալը.

javascript'! ! ! 1 12 !'

Օրինակ

Ուղղահայաց գիծը կարող է բաժանել կանոնավոր արտահայտությունը ոչ թե երկու մասի, այլ ցանկացած քանակի մասերի.

javascriptlet str = 'aaa bbb ccc ddd';
let res = str.replace(/a+|b+|c+/g, '!');

Արդյունքում փոփոխականի մեջ կգրվի հետևյալը.

javascript'! ! ! ddd'

Օրինակ

Եթե ուղղահայաց գիծը գտնվում է կլոր փակագծերի ներսում, ապա 'կամ'-ն աշխատում է միայն այդ փակագծերի ներսում:

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

javascriptlet str = 'axx bxx bbxx exx';
let res = str.replace(/(a|b+)xx/g, '!');

Արդյունքում փոփոխականի մեջ կգրվի հետևյալը.

javascript'! ! ! exx'

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

Задание 1

Տրված է տող.

javascriptlet str = 'aeeea aeea aea axa axxa axxxa';

Գրեք կանոնավոր արտահայտություն, որը կգտնի տողերը համաձայն ձևանմուշի. եզրերին կան 'a' տառերը, իսկ նրանց միջև - կամ 'e' տառը ցանկացած քանակով կամ 'x' տառը ցանկացած քանակով:

Задание 2

Տրված է տող.

javascriptlet str = 'aeeea aeea aea axa axxa axxxa';

Գրեք կանոնավոր արտահայտություն, որը կգտնի տողերը համաձայն ձևանմուշի. եզրերին կան 'a' տառերը, իսկ նրանց միջև - կամ 'e' տառը երկու անգամ կամ 'x' տառը ցանկացած քանակով: