Групиращи скоби в регулярните изрази на 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 или повече пъти.