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

Ҳар қандай қавс ичидаги сатрларни топадиган ва уларни '!' га алмаштирадиган регуляр ифода ёзинг.