Uitzonderingen binnen sets in regex in PHP regex

Je weet al dat speciale karakters binnen [] gewone karakters worden. Er zijn echter uitzonderingen: als je vierkante haken nodig hebt als karakters, dan moeten ze worden voorafgegaan door een backslash .

Als voorbeeld ziet het zoekpatroon er in de volgende code als volgt uit: tussen de x'en staat een vierkant haakje:

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

Als resultaat wordt het volgende in de variabele geschreven:

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

Gegeven een string:

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

Schrijf een reguliere expressie die alle woorden vindt volgens het patroon: letter 'x', dan een willekeurig aantal willekeurige haakjes, dan letter 'z'.

Задание 2

Gegeven een string:

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

Schrijf een reguliere expressie die strings vindt in willekeurige haakjes en ze vervangt door '!'.