Նիշերի հավաքածուները JavaScript-ի կանոնավոր արտահայտություններում
\d և \w նիշերի խմբերը շատ
ճկուն չեն: Նույնիսկ այնպիսի պարզ խնդիր,
ինչպիսին է գտնել բոլոր տառերը, բայց ոչ թվանշանները -
չի կարող լուծվել դրանց միջոցով: Նման խնդիրների համար
պետք է օգտագործել քառակուսի փակագծերը, որոնք ներկայացնում են
'կամ' գործողությունը:
Քառակուսի փակագծերը փոխարինում են մեկ նիշի,
ներսում թվարկված ցանկացածին: Օրինակ,
ահա այսպես՝ /x[abc]x/ - մենք ասում ենք, որ
եզրերին պետք է կանգնած լինեն x տառերը, իսկ ներսում
- մեկ նիշ՝ կամ 'a', կամ 'b',
կամ 'c':
Քառակուսի փակագծերից հետո կարելի է գրել կրկնման
օպերատորներ: Օրինակ, ահա այսպես՝ /x[abc]+x/
- մենք ասում ենք, որ x-երի ներսում կարող է լինել
ցանկացած քանակի 'a', 'b'
և 'c' նիշեր - ցանկացած համադրությամբ:
Կարելի է ոչ միայն թվարկել նիշերը, այլև ստեղծել
նիշերի խմբեր՝ երկու նիշերի միջև գրելով դեֆիս:
Օրինակ, ահա այսպես՝ [a-d] -
մենք ստանում ենք բոլոր նիշերը 'a'-ից
մինչև 'd':
Եկեք նայենք օրինակներին:
Օրինակ
Այս օրինակում որոնման ձևանմուշը այսպիսի տեսք ունի.
x-երի միջև 'a'-ից մինչև
'z' ցանկացած տառ:
let str = 'xax xbx xcx x@x';
let res = str.replace(/x[a-z]x/g, '!');
Արդյունքում փոփոխականի մեջ կգրվի հետևյալը.
'! ! ! x@x'
Օրինակ
Այս օրինակում որոնման ձևանմուշը այսպիսի տեսք ունի.
x-երի միջև 'a'-ից մինչև
'k' ցանկացած տառ:
let str = 'xax xbx xmx x@x';
let res = str.replace(/x[a-k]x/g, '!');
Արդյունքում փոփոխականի մեջ կգրվի հետևյալը.
'! ! xmx x@x'
Օրինակ
Այս օրինակում որոնման ձևանմուշը այսպիսի տեսք ունի.
x-երի միջև 'A'-ից մինչև
'Z' ցանկացած տառ:
let str = 'xax xBx xcx x@x';
let res = str.replace(/x[A-Z]x/g, '!');
Արդյունքում փոփոխականի մեջ կգրվի հետևյալը.
'xax ! xcx x@x'
Օրինակ
Այս օրինակում որոնման ձևանմուշը այսպիսի տեսք ունի.
x-երի միջև 0-ից 9 ցանկացած թվանշան:
let str = 'xax x1x x3x x5x x@x';
let res = str.replace(/x[0-9]x/g, '!');
Արդյունքում փոփոխականի մեջ կգրվի հետևյալը.
'xax ! ! ! x@x'
Օրինակ
Այս օրինակում որոնման ձևանմուշը այսպիսի տեսք ունի.
x-երի միջև 3-ից 7 ցանկացած թվանշան:
let str = 'xax x1x x3x x5x x@x';
let res = str.replace(/x[3-7]x/g, '!');
Արդյունքում փոփոխականի մեջ կգրվի հետևյալը.
'xax x1x ! ! x@x'
Օրինակ
Այս օրինակում որոնման ձևանմուշը այսպիսի տեսք ունի.
x-երի միջև 'a'-ից մինչև
'z' ցանկացած տառ կամ 1-ից 9 թվանշան:
let str = 'xax x1x x3x x5x x@x';
let res = str.replace(/x[a-z1-9]x/g, '!');
Արդյունքում փոփոխականի մեջ կգրվի հետևյալը.
'! ! ! ! x@x'
Օրինակ
Այս օրինակում որոնման ձևանմուշը այսպիսի տեսք ունի.
x-երի միջև 'a'-ից մինչև
'z' ցանկացած տառ կամ 'A'-ից մինչև
'Z' ցանկացած տառ:
let str = 'xax xBx xcx x5x x@x';
let res = str.replace(/x[a-zA-Z]x/g, '!');
Արդյունքում փոփոխականի մեջ կգրվի հետևյալը.
'! ! ! x5x x@x'
Օրինակ
Այս օրինակում որոնման ձևանմուշը այսպիսի տեսք ունի.
x-երի միջև 'a'-ից մինչև
'z' ցանկացած տառ կամ 1, 2 թվանշան:
let str = 'xax xbx x1x x2x x3x';
let res = str.replace(/x[a-z12]x/g, '!');
Արդյունքում փոփոխականի մեջ կգրվի հետևյալը.
'! ! ! ! x3x'
Օրինակ
Այս օրինակում որոնման ձևանմուշը այսպիսի տեսք ունի.
x-երի միջև 'a'-ից 'z'
տառեր 1 և ավելի քանակով:
let str = 'xx xabesx xaadx x123x xa3x';
let res = str.replace(/x[a-z]+x/g, '!');
Արդյունքում փոփոխականի մեջ կգրվի հետևյալը.
'xx ! ! ! x123x xa3x'
Օրինակ
Եկեք անենք այնպես, որ տառերի քանակը կարող է լինել նաև զրո.
let str = 'xx xabesx xaadx x123x xa3x';
let res = str.replace(/x[a-z]*x/g, '!');
Արդյունքում փոփոխականի մեջ կգրվի հետևյալը.
'! ! ! ! x123x xa3x'
Գործնական առաջադրանքներ
Տրված է տողը.
let str = 'aba aea aca aza axa';
Գրեք կանոնավոր արտահայտություն, որը կգտնի հետևյալ
ձևանմուշով. եզրերին կանգնած են 'a' տառերը,
իսկ նրանց միջև - 'b', 'e'
կամ 'x' տառը.
Տրված է տողը.
let str = 'a1a a3a a7a a9a aba';
Գրեք կանոնավոր արտահայտություն, որը կգտնի հետևյալ
ձևանմուշով. եզրերին կանգնած են 'a' տառերը,
իսկ նրանց միջև - 3-ից 6 թվանշան.
Տրված է տողը.
let str = 'aba aea afa aha aga';
Գրեք կանոնավոր արտահայտություն, որը կգտնի հետևյալ
ձևանմուշով. եզրերին կանգնած են 'a' տառերը,
իսկ նրանց միջև - a-ից g տառ.
Տրված է տողը.
let str = 'aba aea afa aha aga';
Գրեք կանոնավոր արտահայտություն, որը կգտնի հետևյալ
ձևանմուշով. եզրերին կանգնած են 'a' տառերը,
իսկ նրանց միջև - a-ից f և j-ից z տառ.
Տրված է տողը.
let str = 'aAa aea aEa aJa a3a';
Գրեք կանոնավոր արտահայտություն, որը կգտնի հետևյալ
ձևանմուշով. եզրերին կանգնած են 'a' տառերը,
իսկ նրանց միջև - a-ից f և A-ից D տառ.
Տրված է տողը.
let str = 'aAXa aeffa aGha aza ax23a a3sSa';
Գրեք կանոնավոր արտահայտություն, որը կգտնի հետևյալ
ձևանմուշով. եզրերին կանգնած են 'a' տառերը,
իսկ նրանց միջև - լատինական փոքրատառեր,
չանդրադառնալով մնացածին.
Տրված է տողը.
let str = 'aAXa aeffa aGha aza ax23a a3sSa';
Գրեք կանոնավոր արտահայտություն, որը կգտնի հետևյալ
ձևանմուշով. եզրերին կանգնած են 'a' տառերը,
իսկ նրանց միջև - լատինական փոքր և մեծատառեր, չանդրադառնալով մնացածին:
Տրված է տողը.
let str = 'aAXa aeffa aGha aza ax23a a3sSa';
Գրեք կանոնավոր արտահայտություն, որը կգտնի հետևյալ
ձևանմուշով. եզրերին կանգնած են 'a' տառերը,
իսկ նրանց միջև - լատինական փոքրատառեր
և թվանշաններ, չանդրադառնալով մնացածին: