Командаи 'ё' дар ибораҳои мунтазами JavaScript
Дар ин дарс мо командаи
'|'-ро таҳлил мекунем, ки намуди
қувватмандтари 'ё' нисбат
ба командаи [ ] мебошад. Ин команда имкон медиҳад,
ки изҳори мунтазам ба чанд қисм тақсим карда шавад.
Дар ин ҳол, чизе ки ҷустуҷӯ мешавад ё ба як
қисми изҳор рост меояд, ё ба қисми дигар. Биёед
ба мисолҳо нигарем.
Мисол
Дар ин мисол намунаи ҷустуҷӯ ин аст: се
ҳарфи 'a' ё се ҳарфи 'b':
let str = 'aaa bbb abb';
let res = str.replace(/a{3}|b{3}/g, '!');
Дар натиҷа ба тағйирёбанда зерин сабт мешавад:
'! ! abb'
Мисол
Дар ин мисол намунаи ҷустуҷӯ ин аст: се
ҳарфи 'a' ё аз 1 ва зиёдтар
ҳарфи 'b':
let str = 'aaa bbb bbbb bbbbb axx';
let res = str.replace(/a{3}|b+/g, '!');
Дар натиҷа ба тағйирёбанда зерин сабт мешавад:
'! ! ! ! axx'
Мисол
Дар ин мисол намунаи ҷустуҷӯ ин аст: як ҳарф ё зиёдтар, ё се рақам:
let str = 'a ab abc 1 12 123';
let res = str.replace(/[a-z]+|\d{3}/g, '!');
Дар натиҷа ба тағйирёбанда зерин сабт мешавад:
'! ! ! 1 12 !'
Мисол
Хати амудӣ метавонад изҳори мунтазамро на ба ду қисм, балки ба ҳар миқдори қисмҳо тақсим кунад:
let str = 'aaa bbb ccc ddd';
let res = str.replace(/a+|b+|c+/g, '!');
Дар натиҷа ба тағйирёбанда зерин сабт мешавад:
'! ! ! ddd'
Мисол
Агар хати амудӣ дар дохили қавсҳои давраӣ
истода бошад, он гоҳ 'ё' танҳо дар дохили
ҳамин қавсҳо кор мекунад.
Барои мисол биёед сатрҳоро аз рӯи намунаи зерин
пайдо кунем: дар аввал ё 'a',
ё 'b' як маротиба ё зиёдтар истодааст, ва баъд аз он
ду ҳарфи 'x' истода бошад:
let str = 'axx bxx bbxx exx';
let res = str.replace(/(a|b+)xx/g, '!');
Дар натиҷа ба тағйирёбанда зерин сабт мешавад:
'! ! ! exx'
Масъалаҳои амалӣ
Сатр дода шудааст:
let str = 'aeeea aeea aea axa axxa axxxa';
Изҳори мунтазаме нависед, ки сатрҳоро
аз рӯи намуна пайдо кунад: дар канорҳо ҳарфҳои 'a' истодаанд,
ва дар байни онҳо - ё ҳарфи 'e' ба ҳар миқдор
ё ҳарфи 'x' ба ҳар миқдор.
Сатр дода шудааст:
let str = 'aeeea aeea aea axa axxa axxxa';
Изҳори мунтазаме нависед, ки сатрҳоро
аз рӯи намуна пайдо кунад: дар канорҳо ҳарфҳои 'a' истодаанд,
ва дар байни онҳо - ё ҳарфи 'e' ду маротиба
ё ҳарфи 'x' ба ҳар миқдор.