Բացառություններ ներսում բազմությունների PHP-ի կանոնավոր արտահայտություններում

Դուք արդեն գիտեք, որ []-ի ներսում գտնվող հատուկ նիշերը դառնում են սովորական նիշեր: Սակայն կան բացառություններ. եթե ձեզ անհրաժեշտ են քառակուսի փակագծեր որպես նիշեր, ապա դրանք պետք է էկրանավորել հակադարձ շեղով:

Օրինակ՝ հաջորդ կոդում որոնման ձևանմուշը այսպիսի տեսք ունի. x-երի միջև կա քառակուսի փակագիծ:

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

Արդյունքում փոփոխականի մեջ կգրվի հետևյալը.

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

Տրված է տող.

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

Գրեք կանոնավոր արտահայտություն, որը կգտնի բոլոր բառերը ըստ ձևանմուշի. նիշ 'x', ապա ցանկացած քանակի ցանկացած փակագծեր, ապա նիշ 'z'.

Задание 2

Տրված է տող.

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

Գրեք կանոնավոր արտահայտություն, որը կգտնի տողերը ցանկացած փակագծերում և կփոխարինի դրանք '!'-ով: