Parênteses de agrupamento em expressões regulares JavaScript
Nos exemplos anteriores, os operadores de repetição atuavam apenas em um único caractere que estava antes deles. O que fazer se quisermos aplicá-los a vários caracteres?
Para isso, existem os parênteses de agrupamento
'(' e . Eles funcionam da seguinte forma:
se algo estiver entre parênteses de agrupamento
e houver um operador de repetição logo após ')'')'
- ele atuará sobre tudo o que estiver dentro dos parênteses.
Vamos ver alguns exemplos.
Exemplo
No exemplo a seguir, o padrão de busca é
o seguinte: a letra 'x', seguida pela string 'ab'
uma ou mais vezes, depois a letra 'x':
let str = 'xabx xababx xaabbx'
let res = str.replace(/x(ab)+x/g, '!');
Como resultado, o seguinte será armazenado na variável:
'! ! xaabbx'
Problemas práticos
Dada a string:
let str = 'ab abab abab abababab abea';
Escreva uma expressão regular que encontre as strings
segundo o padrão: a string 'ab' repetida
1 ou mais vezes.