Группирующие скобки в регулярках JavaScript

В предыдущих примерах операторы повторения действовали только на один символ, который стоял перед ними. Что делать, если мы хотим подействовать им на несколько символов?

Для этого существуют группирующие скобки '(' и ')'. Они работают так: если что-то стоит в группирующих скобках и сразу после ')' стоит оператор повторения - он подействует на все, что стоит внутри скобок.

Давайте посмотрим на примерах.

Пример

В следующем примере шаблон поиска выглядит так: буква 'x', далее строка 'ab' один или более раз, потом буква 'x':

let str = 'xabx xababx xaabbx' let res = str.replace(/x(ab)+x/g, '!');

В результате в res запишется следующее:

'! ! xaabbx'

Практические задачи

Дана строка:

let str = 'ab abab abab abababab abea';

Напишите регулярку, которая найдет строки по шаблону: строка 'ab' повторяется 1 или более раз.