Группирующие скобки в регулярках JavaScript
В предыдущих примерах операторы повторения действовали только на один символ, который стоял перед ними. Что делать, если мы хотим подействовать им на несколько символов?
Для этого существуют группирующие скобки
'(' и ')'. Они работают так:
если что-то стоит в группирующих скобках
и сразу после ')' стоит оператор повторения
- он подействует на все, что стоит внутри скобок.
Давайте посмотрим на примерах.
Пример
В следующем примере шаблон поиска выглядит
так: буква 'x', далее строка 'ab'
один или более раз, потом буква 'x':
javascriptlet str = 'xabx xababx xaabbx'
let res = str.replace(/x(ab)+x/g, '!');
В результате в переменную запишется следующее:
javascript'! ! xaabbx'
Практические задачи
Задание 1
Дана строка:
javascriptlet str = 'ab abab abab abababab abea';
Напишите регулярку, которая найдет строки
по шаблону: строка 'ab' повторяется
1 или более раз.