Гурӯҳбандакунандаи қавсҳо дар регулярҳои JavaScript
Дар мисолҳои қаблӣ операторҳои такрорӣ танҳо ба як аломат, ки пеш аз онҳо истода буд, таъсир мекарданд. Чи кунем, агар мо мехоҳем ки онҳо ба якчанд аломат таъсир кунанд?
Барои ин қавсҳои гурӯҳбандакунанда мавҷуданд
'(' ва . Онҳо чунин кор мекунанд:
агар чизе дар қавсҳои гурӯҳбандакунанда истода бошад
ва баъди он якбора ')'')' оператори такрорӣ истода бошад
- он ба ҳама чизе, ки дар дохили қавсҳост, таъсир хоҳад расонд.
Биёед бо мисолҳо бубинем.
Мисол
Дар мисоли навбатӣ шаблони ҷустуҷӯ ин тавр намуд дорад:
ҳарф 'x', сипас сатр 'ab'
як ё зиёда маротиба, баъд ҳарф 'x':
let str = 'xabx xababx xaabbx'
let res = str.replace(/x(ab)+x/g, '!');
Дар натиҷа ба тағйирёбанда чунин чиз сабт хоҳад шуд:
'! ! xaabbx'
Масъалаҳои амалӣ
Сатр дода шудааст:
let str = 'ab abab abab abababab abea';
Як ифодаи мунтазам нависед, ки сатрҳоро
ба шаблони зерин ёбад: сатр 'ab' такрор мешавад
1 ё зиёда маротиба.