Ngoại lệ bên trong tập hợp trong biểu thức chính quy JavaScript

Bạn đã biết rằng các ký tự đặc biệt bên trong [] trở thành các ký tự thông thường. Tuy nhiên, có các ngoại lệ: nếu bạn cần dấu ngoặc vuông như các ký tự bên trong [ ] - thì chúng cần được thoát bằng dấu gạch chéo ngược. Ví dụ, trong đoạn mã sau, mẫu tìm kiếm trông như thế này: giữa các chữ x là một dấu ngoặc vuông:

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

Kết quả, biến sẽ ghi lại nội dung sau:

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

Cho chuỗi:

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

Viết biểu thức chính quy tìm tất cả các từ theo mẫu: chữ cái 'x', sau đó là dấu ngoặc vuông bất kỳ số lần, sau đó là chữ cái 'z'.

Задание 2

Cho chuỗi:

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

Viết biểu thức chính quy tìm tất cả các từ theo mẫu: chữ cái 'x', sau đó là bất kỳ số lượng bất kỳ dấu ngoặc nào, sau đó là chữ cái 'z'.