Výnimky v množinách v regulárnych výrazoch PHP

Už viete, že špeciálne znaky vnútri [] sa stanú obyčajnými znakmi. Existujú však výnimky: ak potrebujete hranaté zátvorky ako symboly, musíte ich escapovať spätnou lomkou.

Napríklad, v nasledujúcom kóde vyhľadávací vzor vyzerá takto: medzi x-ami je hranatá zátvorka:

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

Výsledkom zapísaným do premennej bude:

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

Daný reťazec:

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

Napíšte regulárny výraz, ktorý nájde všetky slová podľa vzoru: písmeno 'x', potom ľubovoľné množstvo ľubovoľných zátvoriek, potom písmeno 'z'.

Задание 2

Daný reťazec:

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

Napíšte regulárny výraz, ktorý nájde reťazce v ľubovoľných zátvorkách a nahradí ich '!'.