Regular ifadələrdə PHP-də kvadrat mötərizələr daxilində istisnalar

Artıq bilirsiniz ki, [] daxilindəki xüsusi simvollar adi simvollar olur. Lakin, istisnalar var: əgər sizə kvadrat mötərizələr simvol kimi lazımdırsa, onda onları tərs çəp ilə ekranlamalısınız.

Nümunə üçün aşağıdakı kodda axtarış şablonu belə görünür: x-lər arasında kvadrat mötərizə dayanır:

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

Nəticədə dəyişənə aşağıdakı yazılacaq:

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

Bir sətir verilmişdir:

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

Bütün sözləri tapacaq bir regular ifadə yazın: şablona görə: hərf 'x', sonra istənilən sayda istənilən mötərizə, sonra hərf 'z'.

Задание 2

Bir sətir verilmişdir:

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

İstənilən mötərizədəki sətirləri tapacaq və onları '!' ilə əvəz edəcək bir regular ifadə yazın.