Набори рамзҳо дар ибораҳои оддии JavaScript
Гурӯҳҳои рамзҳои \d ва \w
ҳамоноандоза нисбатан сахт мебошанд. Ҳатто вазифаи содае,
монанди ёфтани ҳамаи ҳарфҳо, аммо рақамҳо на -
бо онҳо ҳал карда намешавад. Барои чунин вазифаҳо
бояд қафсҳои мураббаъро истифода кард, ки
амалиёти 'ё'-ро ифода мекунанд.
Қафсҳои мураббаъ як рамзро иваз мекунанд,
ҳар яке аз онҳое, ки дар дохил номбар шудаанд. Масалан,
ба ин тавр: /x[abc]x/ - мо мегӯем, ки
дар канорҳо бояд ҳарфҳои икс истода бошанд, ва дар дохил
- як рамз: ё 'a', ё 'b',
ё 'c'.
Баъд аз қафсҳои мураббаъ метавон операторҳои
такрорро навишт. Масалан, ба ин тавр: /x[abc]+x/
- мо мегӯем, ки дар дохили иксҳо метавонад
ҳар чанд рамзи 'a', 'b'
ва 'c' - дар ҳар гуна омезиш мавҷуд бошад.
Метавон на ҳамо рамзҳоро номбар кард, балки гурӯҳҳои
рамзҳо эҷод кард, ки дар байни ду рамз
тире навишта мешаванд. Масалан, ба ин тавр: [a-d] -
мо ҳамаи рамзҳоро аз 'a' то
'd' мегирем.
Биёед дар мисолҳо бубинем.
Мисол
Дар ин мисол қолаби ҷустуҷӯ ба ин шакл аст:
дар байни иксҳо ҳар ҳарф аз 'a'
то 'z':
let str = 'xax xbx xcx x@x';
let res = str.replace(/x[a-z]x/g, '!');
Дар натиҷа ба тағирёбандаи зерин сабт мешавад:
'! ! ! x@x'
Мисол
Дар ин мисол қолаби ҷустуҷӯ ба ин шакл аст:
дар байни иксҳо ҳар ҳарф аз 'a'
то 'k':
let str = 'xax xbx xmx x@x';
let res = str.replace(/x[a-k]x/g, '!');
Дар натиҷа ба тағирёбандаи зерин сабт мешавад:
'! ! xmx x@x'
Мисол
Дар ин мисол қолаби ҷустуҷӯ ба ин шакл аст:
дар байни иксҳо ҳар ҳарф аз 'A'
то 'Z':
let str = 'xax xBx xcx x@x';
let res = str.replace(/x[A-Z]x/g, '!');
Дар натиҷа ба тағирёбандаи зерин сабт мешавад:
'xax ! xcx x@x'
Мисол
Дар ин мисол қолаби ҷустуҷӯ ба ин шакл аст:
дар байни иксҳо ҳар рақам аз 0 то 9:
let str = 'xax x1x x3x x5x x@x';
let res = str.replace(/x[0-9]x/g, '!');
Дар натиҷа ба тағирёбандаи зерин сабт мешавад:
'xax ! ! ! 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'
Мисол
Дар ин мисол қолаби ҷустуҷӯ ба ин шакл аст:
дар байни иксҳо ҳар ҳарф аз 'a'
то 'z' ё рақам аз 1 то 9:
let str = 'xax x1x x3x x5x x@x';
let res = str.replace(/x[a-z1-9]x/g, '!');
Дар натиҷа ба тағирёбандаи зерин сабт мешавад:
'! ! ! ! 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'
Мисол
Дар ин мисол қолаби ҷустуҷӯ ба ин шакл аст:
дар байни иксҳо ҳар ҳарф аз 'a'
то 'z' ё рақамҳои 1, 2:
let str = 'xax xbx x1x x2x x3x';
let res = str.replace(/x[a-z12]x/g, '!');
Дар натиҷа ба тағирёбандаи зерин сабт мешавад:
'! ! ! ! x3x'
Мисол
Дар ин мисол қолаби ҷустуҷӯ ба ин шакл аст:
дар байни иксҳо ҳарфҳо аз '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' истодаанд,
ва дар байни онҳо - ҳарфҳои хурди лотинӣ
ва рақамҳо, дигаронро осеб надода.