Ausnahmen innerhalb von Zeichenklassen in JavaScript Regex

Sie wissen bereits, dass Sonderzeichen innerhalb von [] zu gewöhnlichen Zeichen werden. Es gibt jedoch Ausnahmen: Wenn Sie eckige Klammern als Zeichen innerhalb von [ ] benötigen - müssen diese mit einem Backslash maskiert werden. Als Beispiel sieht im folgenden Code das Suchmuster so aus: zwischen den X steht eine eckige Klammer:

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

In der Variablen wird folgendes gespeichert:

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

Gegeben sei der String:

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

Schreiben Sie einen regulären Ausdruck, der alle Wörter nach dem Muster findet: Buchstabe 'x', dann eckige Klammern beliebig oft, dann Buchstabe 'z'.

Задание 2

Gegeben sei der String:

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

Schreiben Sie einen regulären Ausdruck, der alle Wörter nach dem Muster findet: Buchstabe 'x', dann beliebig oft beliebige Klammern, dann Buchstabe 'z'.