Каши каҷ дар ибораҳои мунтазами JavaScript
Операторҳои '+', '*', '?'
хубанд, аммо, бо ёрии онҳо наметавон адади
мушаххаси такрорро муайян кард. Дар ин ҳолат
оператори {} ба ёрии шумо меояд.
Ба тариқи зерин кор мекунад: {5}
- панҷ такрор, {2,5} – аз ду то панҷ маротиба (ҳарду ҳамроҳ) такрор мешавад,
{2,} - ду маротиба ва бештар такрор мешавад. Ба ин диққат диҳед,
ки ин варианти - {,2}
- вуҷуд надорад. Ба мисолҳо нигаред:
Мисол
Дар ин мисол шаблони ҷустуҷӯ инҳоянд:
ҳарфи 'x', ҳарфи 'a' як
ё ду маротиба, ҳарфи 'x':
let str = 'xx xax xaax xaaax';
let res = str.replace(/xa{1,2}x/g, '!');
Дар натиҷа ба тағйирёбанда ин чиз сабт хоҳад шуд:
'xx ! ! xaaax'
Мисол
Дар ин мисол шаблони ҷустуҷӯ инҳоянд:
ҳарфи 'x', ҳарфи 'a' ду
маротиба ва бештар, ҳарфи 'x':
let str = 'xx xax xaax xaaax';
let res = str.replace(/xa{2,}x/g, '!');
Дар натиҷа ба тағйирёбанда ин чиз сабт хоҳад шуд:
'xx xax ! !'
Мисол
Дар ин мисол шаблони ҷустуҷӯ инҳоянд:
ҳарфи 'x', ҳарфи 'a' се
маротиба, ҳарфи 'x':
let str = 'xx xax xaax xaaax';
let res = str.replace(/xa{3}x/g, '!');
Дар натиҷа ба тағйирёбанда ин чиз сабт хоҳад шуд:
'xx xax xaax !'
Мисол
Дар ин мисол шаблони ҷустуҷӯ инҳоянд:
ҳарфи 'a' даҳ маротиба:
let str = 'aaa aaaaaaaaaa aaa';
let res = str.replace(/a{10}/g, '!');
Дар натиҷа ба тағйирёбанда ин чиз сабт хоҳад шуд:
'aaa ! aaa'
Мисол
Дар ин мисол муаллифи рамз чунин шаблонро мехост:
ҳарфи 'x', ҳарфи 'a' се
маротиба ва камтар, ҳарфи 'x',
вале, мутаассифона, ин - {,3} - кор намекунад.
Ба таври ошкоро нишон додан лозим аст:
let str = 'xx xax xaax xaaax';
let res = str.replace(/xa{1,3}x/g, '!');
Дар натиҷа ба тағйирёбанда ин чиз сабт хоҳад шуд:
'xx ! ! !'
Мисол
Сифр низ ҷоиз аст:
let str = 'xx xax xaax xaaax';
let res = str.replace(/xa{0,3}x/g, '!');
Дар натиҷа ба тағйирёбанда ин чиз сабт хоҳад шуд:
'! ! ! !'
Масъалаҳои амалӣ
Сатр дода шудааст:
let str = 'aa aba abba abbba abbbba abbbbba';
Ибораи мунтазаме нависед, ки сатрҳои
'abba', 'abbba', 'abbbba'
ва фақат онҳоро ёбад.
Сатр дода шудааст:
let str = 'aa aba abba abbba abbbba abbbbba';
Ибораи мунтазаме нависед, ки сатрҳои
намуди 'aba'-ро ёбад, ки дар онҳо 'b'
камтар аз 3 маротиба (ҳамроҳ) рӯй медиҳад.
Сатр дода шудааст:
let str = 'aa aba abba abbba abbbba abbbbba';
Ибораи мунтазаме нависед, ки сатрҳои
намуди 'aba'-ро ёбад, ки дар онҳо 'b'
бештар аз 4 маротиба (ҳамроҳ) рӯй медиҳад.