Гурӯҳҳои аломатҳо дар ибораҳои мунтазами JavaScript

Фармонҳои махсус мавҷуданд, ки имкон медиҳанд якбора гурӯҳҳои аломатҳоро интихоб кунед. Фармони \d рақами аз 0 то 9-ро ифода мекунад. Фармони \w рақам, ҳарфи лотинӣ ё аломати зери хаттиро ишора мекунад. Фармони \s фосила ё аломати фосиларо ишора мекунад: фосила, табдили сатр, табулятсия. Мумкин аст қимати фармонро инверт кард, бо навиштани ҳарфи калон: масалан, агар \d - рақам бошад, \D - рақам нест.

Намуна

Биёед ҳамаи рақамҳоро ёбем:

javascriptlet str = '1 12 123';
let res = str.replace(/\d/g, '!');

Дар натиҷа дар тағирёбандаи зерин сабт карда мешавад:

javascript'! !! !!!'

Намуна

Операторҳои такрорӣ фармонҳои-гурӯҳҳоро як воҳид ҳисоб мекунанд, яъне қавсҳои гурӯҳбандии лозим нестанд. Дар намунаи оянда шаблони ҷустуҷӯ ба ин шакл аст: рақами аз 0 то 9 як ё зиёда маротиба:

javascriptlet str = '1 12 123 abc @@@';
let res = str.replace(/\d+/g, '!');

Дар натиҷа дар тағирёбандаи зерин сабт карда мешавад:

javascript'! ! ! abc @@@'

Намуна

Дар намунаи оянда шаблони ҷустуҷӯ ба ин шакл аст: ҳар чиз як ё зиёда маротиба, аммо рақами аз 0 то 9 нест:

javascriptlet str = '123abc3@@';
let res = str.replace(/\D+/g, '!');

Дар натиҷа дар тағирёбандаи зерин сабт карда мешавад:

javascript'123!3!'

Намуна

Дар ин намуна шаблони ҷустуҷӯ ба ин шакл аст: аломати фосила як маротиба:

javascriptlet str = '1 12 123 abc @@@';
let res = str.replace(/\s/g, '!');

Дар натиҷа дар тағирёбандаи зерин сабт карда мешавад:

javascript'1!12!123!abc!@@@'

Намуна

Дар ин намуна шаблони ҷустуҷӯ ба ин шакл аст: аломати НЕ фосила як ё зиёда маротиба. Ҳамаи зерсатрҳо, ки бо фосилаҳо ҷудо карда шудаанд, иваз карда мешаванд ба '!':

javascriptlet str = '1 12 123 abc @@@';
let res = str.replace(/\S+/g, '!');

Дар натиҷа дар тағирёбандаи зерин сабт карда мешавад:

javascript'! ! ! ! !'

Намуна

Дар ин намуна шаблони ҷустуҷӯ ба ин шакл аст: рақам ё ҳарф як ё зиёда маротиба. Ҳамаи зерсатрҳо, ки аз рақамҳо ва ҳарфҳо иборатанд, иваз карда мешаванд ба '!':

javascriptlet str = '1 12 123a Abc @@@';
let res = str.replace(/\w+/g, '!');

Дар натиҷа дар тағирёбандаи зерин сабт карда мешавад:

javascript'! ! ! ! @@@'

Намуна

Дар ин намуна шаблони ҷустуҷӯ ба ин шакл аст: НЕ рақам ва НЕ ҳарф як ё зиёда маротиба. Дар сурати мо таърифи зерин ба '@@@' ва ҳамаи фосилаҳо меафтад (онҳо низ рақам ва ҳарф нестанд). Диққати худро ба он рабонанд, ки дар охир як '!' мавҷуд аст - ба он сатри ' @@@' табдил ёфт - бо фосила дар пеш:

javascriptlet str = '1 12 123 Abc @@@';
let res = str.replace(/\W+/g, '!');

Дар натиҷа дар тағирёбандаи зерин сабт карда мешавад:

javascript'1!12!123!Abc!'

Масъалаҳои амалӣ

Задание 1

Сатр дода шудааст:

javascriptlet str = 'a1a a2a a3a a4a a5a aba aca';

Ибораи мунтазамро нависед, ки сатрҳоро ёбад, дар онҳое ки дар канорҳо ҳарфҳои 'a' истодаанд, ва дар байни онҳо як рақам.

Задание 2

Сатр дода шудааст:

javascriptlet str = 'a1a a22a a333a a4444a a55555a aba aca';

Ибораи мунтазамро нависед, ки сатрҳоро ёбад, дар онҳое ки дар канорҳо ҳарфҳои 'a' истодаанд, ва дар байни онҳо ҳароҷадида рақамҳо.

Задание 3

Сатр дода шудааст:

javascriptlet str = 'aa a1a a22a a333a a4444a a55555a aba aca';

Ибораи мунтазамро нависед, ки сатрҳоро ёбад, дар онҳое ки дар канорҳо ҳарфҳои 'a' истодаанд, ва дар байни онҳо ҳароҷадида рақамҳо (дар он шумора ва сифр рақамҳо, яъне сатри 'aa').

Задание 4

Сатр дода шудааст:

javascriptlet str = 'avb a1b a2b a3b a4b a5b abb acb';

Ибораи мунтазамро нависед, ки сатрҳои шакли зеринро ёбад: дар канорҳо ҳарфҳои 'a' ва 'b' истодаанд, ва дар байни онҳо - не рақам ва не фосила.

Задание 5

Сатр дода шудааст:

javascriptlet str = 'ave a#b a2b a$b a4b a5b a-b acb';

Ибораи мунтазамро нависед, ки сатрҳои шакли зеринро ёбад: дар канорҳо ҳарфҳои 'a' ва 'b' истодаанд, ва дар байни онҳо - не ҳарф, не рақам ва не фосила.

Задание 6

Сатр дода шудааст:

javascriptlet str = 'ave a#a a2a a$a a4a a5a a-a aca';

Ибораи мунтазамро нависед, ки ҳамаи фосилаҳоро ба '!' иваз кунад.