Grupirajući zagrade u regularnim izrazima JavaScript

U prethodnim primerima operatori ponavljanja su delovali samo na jedan znak koji je stajao ispred njih. Šta da uradimo ako želimo da delujemo njima na više znakova?

Za to postoje grupirajuće zagrade '(' i ')'. One rade na sledeći način: ako se nešto nalazi u grupirajućim zagradama i odmah posle ')' stoji operator ponavljanja - on će delovati na sve što se nalazi unutar zagrada.

Pogledajmo na primerima.

Primer

U sledećem primeru šablon pretrage izgleda ovako: slovo 'x', zatim niz 'ab' jadan ili više puta, onda slovo 'x':

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

Kao rezultat, u promenljivu će biti upisano sledeće:

javascript'! ! xaabbx'

Praktični zadaci

Задание 1

Data je niska:

javascriptlet str = 'ab abab abab abababab abea';

Napišite regularni izraz koji će pronaći niske po šablonu: niska 'ab' se ponavlja 1 ili više puta.