Ryhmittävät sulkeet JavaScriptin säännöllisissä lausekkeissa

Edellisissä esimerkeissä toistotoimijat vaikuttivat vain yhteen merkkiin, joka seisoi niiden edessä. Mitä tehdä, jos haluamme saada ne vaikuttamaan useaan merkkiin?

Tätä varten on olemassa ryhmittävät sulkeet '(' ja ')'. Ne toimivat seuraavasti: jos jotain on ryhmittävissä suluissa ja heti ')' jälkeen on toistotoimija - se vaikuttaa kaikkeen, mikä on suluissa.

Katsotaanpa esimerkein.

Esimerkki

Seuraavassa esimerkissä hakumalli näyttää tältä: kirjain 'x', sitten merkkijono 'ab' yksi tai useampi kerta, sitten kirjain 'x':

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

Tuloksena muuttujaan kirjoitetaan seuraava:

javascript'! ! xaabbx'

Käytännön tehtävät

Задание 1

Annettu merkkijono:

javascriptlet str = 'ab abab abab abababab abea';

Kirjoita säännöllinen lauseke, joka löytää merkkijonot mallin mukaan: merkkijono 'ab' toistuu 1 tai useamman kerran.