Изузеци унутар скупова у регуларним изразима JavaScript

Већ знате да специјални карактери унутар [] постају обични карактери. Међутим, постоје изузеци: ако су вам потребне угласте заграде као карактери унутар [ ] – онда их треба екранирати обрнутом косом цртом. На пример, у следећем коду шаблон претраге изгледа овако: између икса стоји угласта заграда:

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

Као резултат у променљиву ће бити уписано следеће:

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

Дат је стринг:

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

Напишите регуларни израз који ће пронаћи све речи по шаблону: слово 'x', затим угласте заграде било колико пута, затим слово 'z'.

Задание 2

Дат је стринг:

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

Напишите регуларни израз који ће пронаћи све речи по шаблону: слово 'x', затим било колико било којих заграда, затим слово 'z'.