PHP'деги регулярдуу ифодолордогу квадраттык каша ичиндеги четтөөлөр

Сиз буга чейин [] ичиндеги атайын белгилер кадимки символдорго айланаарын билесиз. Бирок, четтөөлөр да бар: эгер сизге квадраттык кашалар символ катары керек болсо, анда аларды тескери кыбыла менен экранировкалоо керек.

Мисал үчүн төмөнкү коддогу издеү үлгүсү төмөнкүдөй көрүнөт: иксдердин ортосунда квадраттык каша турат:

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]';
?>

Каалаган кашалардагы саптарды таап, аларды '!' менен алмаштыра турган регулярды жазыңыз.