Гурӯҳҳои аломатҳо дар ибораҳои мунтазами 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';
Ибораи мунтазамро нависед, ки ҳамаи фосилаҳоро
ба '!' иваз кунад.