Истисноҳо дар дохили маҷмӯаҳо дар регекси 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'.