Ausnahmen innerhalb von Zeichenklassen in regulären Ausdrücken in PHP

Sie wissen bereits, dass Sonderzeichen innerhalb von [] zu gewöhnlichen Zeichen werden. Es gibt jedoch Ausnahmen: Wenn Sie eckige Klammern als Zeichen benötigen, müssen diese mit einem Backslash gequotet werden.

Als Beispiel sieht im folgenden Code das Suchmuster so aus: zwischen den X steht eine eckige Klammer:

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

In die Variable wird folgendes geschrieben:

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

Gegeben ist der String:

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

Schreiben Sie einen regulären Ausdruck, der alle Wörter findet, die dem Muster entsprechen: Buchstabe 'x', dann eine beliebige Anzahl beliebiger Klammern, dann Buchstabe 'z'.

Задание 2

Gegeben ist der String:

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

Schreiben Sie einen regulären Ausdruck, der die Strings in beliebigen Klammern findet und durch '!' ersetzt.