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