Excepții în seturile din expresiile regulate în PHP

Știți deja că caracterele speciale din interiorul [] devin caractere obișnuite. Există, totuși, excepții: dacă aveți nevoie de paranteze pătrate ca simboluri, atunci acestea trebuie să fie evitate cu backslash.

De exemplu, în următorul cod șablonul de căutare arată astfel: între x-uri se află o paranteză pătrată:

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

Ca rezultat, în variabilă se va scrie următoarele:

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

Este dată un șir:

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

Scrieți o expresie regulată care va găsi toate cuvintele după șablonul: litera 'x', apoi orice număr de orice paranteze, apoi litera 'z'.

Задание 2

Este dată un șir:

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

Scrieți o expresie regulată care va găsi șirurile în orice paranteze și le va înlocui cu '!'.