Undantag inuti uppsättningar i JavaScript reguljära uttryck

Du vet redan att specialtecken inuti [] blir vanliga tecken. Det finns dock undantag: om du behöver hakparenteser som tecken inuti [ ] - så måste de escapes med omvänt snedstreck. Som exempel, i följande kod ser sökmönstret ut så här: mellan x står en hakparentes:

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

Som ett resultat kommer följande att skrivas till variabeln:

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

Given en sträng:

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

Skriv ett reguljärt uttryck som hittar alla ord enligt mönstret: bokstaven 'x', sedan hakparenteser valfritt antal gånger, sedan bokstaven 'z'.

Задание 2

Given en sträng:

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

Skriv ett reguljärt uttryck som hittar alla ord enligt mönstret: bokstaven 'x', sedan valfritt antal valfria parenteser, sedan bokstaven 'z'.