Výnimky v množinách v regulárnych výrazoch JavaScript

Už viete, že špeciálne znaky vnútri [] sa stanú obyčajnými znakmi. Existujú však výnimky: ak potrebujete hranaté zátvorky ako znaky vnútri [ ] - tak ich treba escapovať spätnou lomkou. Príkladom v nasledujúcom kóde je vyhľadávací vzor ktorý vyzerá takto: medzi x-ami je hranatá zátvorka:

javascriptlet str = 'x]x xax x[x x1x';
let res = str.replace(/x[\[\]]x/g, '!');

Výsledkom do premennej bude zapísané nasledovné:

javascript'! xax ! x1x'
Задание 1

Daný reťazec:

javascriptlet str = 'x[]z x[[]]z x()z';

Napíšte regulárny výraz, ktorý nájde všetky slová podľa vzoru: písmeno 'x', potom hranaté zátvorky ľubovoľný počet krát, potom písmeno 'z'.

Задание 2

Daný reťazec:

javascriptlet str = 'x[]z x{}z x.z x()z x([])z';

Napíšte regulárny výraz, ktorý nájde všetky slová podľa vzoru: písmeno 'x', potom ľubovoľný počet ľubovoľných zátvoriek, potom písmeno 'z'.