Undtagelser inden for sæt i regulære udtryk i PHP

Du ved allerede, at specialtegn inden for [] bliver almindelige tegn. Der er dog undtagelser: hvis du har brug for kantede parenteser som tegn, skal de escapes med omvendt skråstreg.

Som et eksempel, i den følgende kode ser søgemonsteret sådan ud: mellem x'er står en kantet parentes:

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

Resultatet i variablen vil være følgende:

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

Givet en streng:

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

Skriv et regulært udtryk, der finder alle ord efter mønsteret: bogstavet 'x', derefter et hvilket som helst antal af enhver type parentes, derefter bogstavet 'z'.

Задание 2

Givet en streng:

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

Skriv et regulært udtryk, der finder strenge i enhver type parentes og erstatter dem med '!'.