ԳՅԻՍԻ ՆԵՐՔԻՆ ԿԱԶՄԱԿԵՐՊՈՒՄՆԵՐԸ JavaScript-ի ԿԱՆՈՆԱՎՈՐ ԱՐՏԱՀԱՅՏՈՒԹՅՈՒՆՆԵՐՈՒՄ
ԳՅիսը - նույնպես հատուկ նիշ է [ ]-ի ներսում
(իսկ դրսում - ոչ): Եթե ձեզ անհրաժեշտ է բուն
գՅիսը որպես նիշ - ապա տեղադրեք այն այնտեղ,
որտեղ այն չի ընկալվելու որպես խմբի
բաժանարար:
Ինչու է սա կարևոր. դուք կարող եք ստեղծել նիշերի
խումբ՝ ինքներդ դա չնկատելով: Օրինակ,
ահա այսպես - '[:-@]' - դուք կարծում եք, որ
ընտրում եք երկ점, գՅիս և շնիկ, բայց
իրականում ստացվում է նիշերի խումբ :-ի և
@-ի միջև: Այս խմբի մեջ մտնում են
հետևյալ նիշերը. ? < = > : ;
Որտեղի՞ց են դրանք առաջացել: ASCII աղյուսակից - երկ점ն ունի ավելի փոքր համար, քան շնիկը - և ստացվում է խումբ: Այսինքն բոլոր խմբերը ստացվում են ըստ ASCII աղյուսակի (ցանկության դեպքում կարելի է օգտագործել սա):
Ինչպես պայքարել դրա դեմ. տեղադրեք գՅիսի նիշը
այնտեղ, որտեղ այն հաստատ չի ընկալվելու որպես
խմբի նիշ, օրինակ, սկզբում կամ վերջում
(այսինքն [-ից հետո կամ ]-ից առաջ):
Կարելի է նաև էկրանավորել գՅիսը - ապա
այն կնշանակի ինքն իրեն՝ անկախ
դիրքից: Օրինակ, [:-@]-ի փոխարեն գրել
[:\-@] - և արդեն խումբ չի լինի, այլ
կլինեն երեք նիշ - երկ점, գՅիս և շնիկ
@:
Օրինակ
Հաջորդ օրինակում որոնման ձևանմուշը հետևյալն է.
թիվ 1, ապա տառ 'a'-ից
մինչև 'z', ապա թիվ 2.
let str = '1a2 1-2 1c2 1z2';
let res = str.replace(/1[a-z]2/g, '!');
Արդյունքում փոփոխականի մեջ կգրվի հետևյալը.
'! 1-2 ! !'
Օրինակ
Այժմ եկեք էկրանավորենք գՅիսը: Արդյունքում
ձևանմուշը հետևյալն է. թիվ 1, ապա
տառ 'a', կամ գՅիս, կամ տառ 'z',
ապա թիվ 2.
let str = '1a2 1-2 1c2 1z2';
let res = str.replace(/1[a\-z]2/g, '!');
Արդյունքում փոփոխականի մեջ կգրվի հետևյալը.
'! ! 1c2 !'
Օրինակ
Կարելի է պարզապես տեղափոխել գՅիսը՝ առանց այն էկրանավորելու.
let str = '1a2 1-2 1c2 1z2';
let res = str.replace(/1[az-]2/g, '!');
Արդյունքում փոփոխականի մեջ կգրվի հետևյալը.
'! ! 1c2 !'
Օրինակ
Հաջորդ օրինակում որոնման ձևանմուշը հետևյալն է.
առաջին նիշը փոքրատառ տառեր կամ
գՅիս '-', ապա երկու տառ 'x'.
let str = 'axx Axx -xx @xx';
let res = str.replace(/[a-z-]xx/g, '!');
Արդյունքում փոփոխականի մեջ կգրվի հետևյալը.
'! Axx ! @xx'
Օրինակ
Հաջորդ օրինակում որոնման ձևանմուշը հետևյալն է.
առաջին նիշը փոքրատառ, մեծատառ
տառեր կամ գՅիս '-', ապա երկու տառ
'x'.
let str = 'axx Axx -xx @xx';
let res = str.replace(/[a-zA-Z-]xx/g, '!');
Արդյունքում փոփոխականի մեջ կգրվի հետևյալը.
'! ! ! @xx'
Օրինակ
Կարելի է տեղադրել գՅիսը երկու խմբերի միջև - այնտեղ այն հաստատ չի ստեղծի մեկ այլ խումբ.
let str = 'axx 9xx -xx @xx';
let res = str.replace(/[a-z-0-9]xx/g, '!');
Արդյունքում փոփոխականի մեջ կգրվի հետևյալը.
'! ! ! @xx'
Գործնական առաջադրանքներ
Տրված է տողը.
let str = 'xaz xBz xcz x-z x@z';
Գտեք բոլոր տողերը ըստ հետևյալ ձևանմուշի.
տառ 'x', մեծատառ կամ փոքրատառ
տառ կամ գՅիս, տառ 'z'.
Տրված է տողը.
let str = 'xaz x$z x-z xcz x+z x%z x*z';
Գտեք բոլոր տողերը ըստ հետևյալ ձևանմուշի.
տառ 'x', ապա կամ դոլար, կամ
գՅիս կամ գումարած, ապա տառ 'z'.