Տառերի կրկնության օպերատորներ
Լինում են իրավիճակներ, երբ մենք ցանկանում ենք նշել,
որ նիշը կրկնվում է տրված քանակով:
Եթե մենք գիտենք կրկնությունների ճշգրիտ թիվը,
ապա կարող ենք պարզապես գրել այն մի քանի անգամ
- /aaaa/: Բայց ի՞նչ անել, եթե ցանկանում ենք
ասել այսպիսի բան. կրկնել մեկ կամ ավելի անգամ:
Դրա համար գոյություն ունեն կրկնության օպերատորներ (քվանտիֆիկատորներ).
գումարած + (մեկ կամ ավելի անգամ),
աստղանիշ * (զրո կամ ավելի անգամ) և
հարցական նշան ? (զրո կամ մեկ անգամ): Այս
օպերատորները գործում են այն նիշի վրա, որ
կանգնած է նրանցից առաջ:
Եկեք նայենք այս օպերատորների աշխատանքին օրինակներով:
Օրինակ
Գտնենք բոլոր ենթատողերը ըստ տառ
'x', տառ 'a' մեկ կամ ավելի
անգամ, տառ 'x' ձևաբանի.
let str = 'xx xax xaax xaaax xbx';
let res = str.replace(/xa+x/g, '!');
Արդյունքում փոփոխականի մեջ կգրվի հետևյալը.
'xx ! ! ! xbx'
Օրինակ
Գտնենք բոլոր ենթատողերը ըստ տառ
'x', տառ 'a' զրո կամ ավելի
անգամ, տառ 'x' ձևաբանի.
let str = 'xx xax xaax xaaax xbx'
let res = str.replace(/xa*x/g, '!');
Արդյունքում փոփոխականի մեջ կգրվի հետևյալը.
'! ! ! ! xbx'
Օրինակ
Գտնենք բոլոր ենթատողերը ըստ տառ
'x', տառ 'a' զրո կամ մեկ
անգամ, տառ 'x' ձևաբանի.
let str = 'xx xax xaax xbx';
let res = str.replace(/xa?x/g, '!');
Արդյունքում փոփոխականի մեջ կգրվի հետևյալը.
'! ! xaax xbx'
Գործնական առաջադրանքներ
Տրված է տող.
let str = 'aa aba abba abbba abca abea';
Գրեք ռեգուլյար արտահայտություն, որը կգտնի
'aba', 'abba', 'abbba'
տողերը ըստ ձևաբանի. տառ 'a', տառ 'b'
ցանկացած քանակությամբ անգամ, տառ 'a':
Տրված է տող.
let str = 'aa aba abba abbba abca abea';
Գրեք ռեգուլյար արտահայտություն, որը կգտնի
'aa', 'aba', 'abba',
'abbba' տողերը ըստ ձևաբանի. տառ 'a',
տառ 'b' ցանկացած քանակությամբ անգամ (ներառյալ
ոչ մի անգամ), տառ 'a':
Տրված է տող.
let str = 'aa aba abba abbba abca abea';
Գրեք ռեգուլյար արտահայտություն, որը կգտնի
'aa', 'aba' տողերը ըստ ձևաբանի. տառ
'a', տառ 'b' մեկ անգամ կամ
ոչ մի անգամ, տառ 'a':
Տրված է տող.
let str = 'aa aba abba abbba abca abea';
Գրեք ռեգուլյար արտահայտություն, որը կգտնի
'aa', 'aba', 'abba',
'abbba' տողերը, չգրավելով 'abca'
և 'abea':