PHP Regular Ifodalarida kvadrat qavs ichidagi istisnolar

Siz allaqachon bilasizki, [] ichidagi maxsus belgilar oddiy belgilarga aylanadi. Biroq, istisnolar mavjud: agar sizga kvadrat qavslar belgi sifatida kerak bo'lsa, ularni teskari chiziq bilan ekranlash kerak.

Misol uchun, quyidagi kodda qidirish shabloni shunday ko'rinadi: x lar orasida kvadrat qavs turadi:

php<?php
  $str = 'x]x xax x[x x1x';
  $res = preg_replace('#x[\[\]]x#', '!', $str);
?>

Natijada o'zgaruvchiga quyidagilar yoziladi:

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

Berilgan satr:

php<?php
  $str = 'x[]z x{}z x.z x()z';
?>

Quyidagi shablonga mos keladigan barcha so'zlarni topadigan regular ifodani yozing: 'x' harfi, keyin istalgan turdagi qavslarning istalgan miqdori, keyin 'z' harfi.

Задание 2

Berilgan satr:

php<?php
  $str = '[abc] {abc} abc (abc) [abc]';
?>

Istalgan qavs ichidagi satrlarni topadigan va ularni '!' ga almashtiradigan regular ifodani yozing.