Excepții în seturile din expresiile regulate JavaScript

Știți deja că caracterele speciale din interiorul [] devin caractere obișnuite. Există, însă, excepții: dacă aveți nevoie de paranteze pătrate ca simboluri în interiorul [ ] - atunci acestea trebuie să fie evitate folosind backslash. De exemplu, în următorul cod șablonul de căutare arată astfel: între x-uri se află o paranteză pătrată:

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

Ca rezultat, în variabilă se va scrie următoarele:

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

Este dată șirul:

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

Scrieți o expresie regulată care va găsi toate cuvintele după șablonul: litera 'x', apoi paranteze pătrate de orice număr de ori, apoi litera 'z'.

Задание 2

Este dată șirul:

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

Scrieți o expresie regulată care va găsi toate cuvintele după șablonul: litera 'x', apoi orice număr de orice paranteze, apoi litera 'z'.