Poikkeukset joukoissa PHP:n säännöllisissä lausekkeissa

Tiedät jo, että erikoismerkit sisällä [] tulevat tavallisiksi merkeiksi. On kuitenkin poikkeuksia: jos tarvitset hakasulkuja merkkeinä, ne on eristettävä kenoviivalla.

Esimerkkinä seuraavassa koodissa hakumalli näyttää tältä: x-kirjainten välissä on hakasulku:

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

Tuloksena muuttujaan kirjoitetaan seuraava:

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

Annettu merkkijono:

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

Kirjoita säännöllinen lauseke, joka löytää kaikki sanat mallin mukaan: kirjain 'x', sitten mikä tahansa määrä minkä tahansa sulkeita, sitten kirjain 'z'.

Задание 2

Annettu merkkijono:

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

Kirjoita säännöllinen lauseke, joka löytää merkkijonot missä tahansa suluissa ja korvaa ne '!':lla.