JavaScript-ի կանոնավոր արտահայտությունների նիշերի խմբերը
Գոյություն ունեն հատուկ հրամաններ, որոնք թույլ են տալիս
ընտրել անմիջապես նիշերի ամբողջ խմբեր: \d հրամանը
նշանակում է 0-ից 9 թվանշան:
\w հրամանը նշանակում է թվանշան, լատինական
տառ կամ ընդգծման նշան: \s հրամանը
նշանակում է բացատ կամ բացատային նիշ:
բացատ, տողերի տեղափոխում, տաբուլյացիա: Կարելի է
հակադարձել հրամանի արժեքը՝ գրելով մեծ
տառ: օրինակ, եթե \d-ը թվանշան է,
ապա \D-ը թվանշան չէ:
Օրինակ
Եկեք գտնենք բոլոր թվանշանները:
let str = '1 12 123';
let res = str.replace(/\d/g, '!');
Արդյունքում փոփոխականի մեջ կգրվի հետևյալը.
'! !! !!!'
Օրինակ
Կրկնության օպերատորները հրաման-խմբերը համարում են
մի ամբողջություն, այսինքն՝ խմբավորող փակագծեր
անհրաժեշտ չեն: Հաջորդ օրինակում որոնման կաղապարը
այսպիսի տեսք ունի. թվանշան 0-ից 9
մեկ կամ ավելի անգամ:
let str = '1 12 123 abc @@@';
let res = str.replace(/\d+/g, '!');
Արդյունքում փոփոխականի մեջ կգրվի հետևյալը.
'! ! ! abc @@@'
Օրինակ
Հաջորդ օրինակում որոնման կաղապարը այսպիսի տեսք ունի.
ցանկացած բան մեկ կամ ավելի անգամ,
բայց ոչ թվանշան 0-ից 9:
let str = '123abc3@@';
let res = str.replace(/\D+/g, '!');
Արդյունքում փոփոխականի մեջ կգրվի հետևյալը.
'123!3!'
Օրինակ
Այս օրինակում որոնման կաղապարը այսպիսի տեսք ունի. բացատային նիշ մեկ անգամ:
let str = '1 12 123 abc @@@';
let res = str.replace(/\s/g, '!');
Արդյունքում փոփոխականի մեջ կգրվի հետևյալը.
'1!12!123!abc!@@@'
Օրինակ
Այս օրինակում որոնման կաղապարը այսպիսի տեսք ունի.
ՈՉ բացատային նիշ մեկ կամ ավելի անգամ:
Բոլոր ենթատողերը, որոնք բաժանված են բացատներով, կփոխարինվեն
'!'-ով:
let str = '1 12 123 abc @@@';
let res = str.replace(/\S+/g, '!');
Արդյունքում փոփոխականի մեջ կգրվի հետևյալը.
'! ! ! ! !'
Օրինակ
Այս օրինակում որոնման կաղապարը այսպիսի տեսք ունի.
թվանշան կամ տառ մեկ կամ ավելի անգամ:
Թվանշաններից և տառերից բաղկացած բոլոր ենթատողերը
կփոխարինվեն '!'-ով:
let str = '1 12 123a Abc @@@';
let res = str.replace(/\w+/g, '!');
Արդյունքում փոփոխականի մեջ կգրվի հետևյալը.
'! ! ! ! @@@'
Օրինակ
Այս օրինակում որոնման կաղապարը այսպիսի տեսք ունի.
ՈՉ թվանշան և ՈՉ տառ մեկ կամ ավելի անգամ:
Մեր դեպքում այս սահմանմանը համապատասխանում է
'@@@'-ը և բոլոր բացատները (դրանք նույնպես
ոչ թվանշաններ են և ոչ տառեր): Ուշադրություն դարձրեք
նրան, որ վերջում մեկ '!' կա - դրա մեջ
վերածվել է ' @@@' տողը - դիմացի
բացատով:
let str = '1 12 123 Abc @@@';
let res = str.replace(/\W+/g, '!');
Արդյունքում փոփոխականի մեջ կգրվի հետևյալը.
'1!12!123!Abc!'
Գործնական առաջադրանքներ
Տրված է տողը.
let str = 'a1a a2a a3a a4a a5a aba aca';
Գրեք կանոնավոր արտահայտություն, որն կգտնի տողերը,
որոնցում եզրերին կան 'a' տառերը,
իսկ նրանց միջև մեկ թվանշան:
Տրված է տողը.
let str = 'a1a a22a a333a a4444a a55555a aba aca';
Գրեք կանոնավոր արտահայտություն, որն կգտնի տողերը,
որոնցում եզրերին կան 'a' տառերը,
իսկ նրանց միջև ցանկացած քանակի թվանշաններ:
Տրված է տողը.
let str = 'aa a1a a22a a333a a4444a a55555a aba aca';
Գրեք կանոնավոր արտահայտություն, որն կգտնի տողերը,
որոնցում եզրերին կան 'a' տառերը,
իսկ նրանց միջև ցանկացած քանակի թվանշաններ (ներառյալ
և զրո թվանշան, այսինքն՝ 'aa' տողը):
Տրված է տողը.
let str = 'avb a1b a2b a3b a4b a5b abb acb';
Գրեք կանոնավոր արտահայտություն, որն կգտնի հետևյալ
տեսքի տողերը. եզրերին կան 'a' և
'b' տառերը, իսկ նրանց միջև - ոչ
թիվ և ոչ բացատ:
Տրված է տողը.
let str = 'ave a#b a2b a$b a4b a5b a-b acb';
Գրեք կանոնավոր արտահայտություն, որն կգտնի հետևյալ
տեսքի տողերը. եզրերին կան 'a' և
'b' տառերը, իսկ նրանց միջև - ոչ
տառ, ոչ թվանշան և ոչ բացատ:
Տրված է տողը.
let str = 'ave a#a a2a a$a a4a a5a a-a aca';
Գրեք կանոնավոր արտահայտություն, որն կփոխարինի բոլոր բացատները
'!'-ով: