Paréntesis de agrupación en expresiones regulares JavaScript

En ejemplos anteriores los operadores de repetición actuaban solo sobre un carácter que estaba delante de ellos. ¿Qué hacer si queremos que actúen sobre varios caracteres?

Para esto existen los paréntesis de agrupación '(' y ')'. Funcionan así: si algo está entre paréntesis de agrupación e inmediatamente después de ')' hay un operador de repetición - actuará sobre todo lo que está dentro de los paréntesis.

Veamos algunos ejemplos.

Ejemplo

En el siguiente ejemplo el patrón de búsqueda se ve así: letra 'x', luego la cadena 'ab' una o más veces, después letra 'x':

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

Como resultado en la variable se guardará lo siguiente:

javascript'! ! xaabbx'

Problemas prácticos

Задание 1

Dada la cadena:

javascriptlet str = 'ab abab abab abababab abea';

Escriba una expresión regular que encuentre las cadenas según el patrón: cadena 'ab' repetida 1 o más veces.