Спецсимволы-исключения внутри квадратных скобок

Вы уже знаете, что спецсимволы внутри [] становятся обычными символами. Есть, однако, исключения: если вам нужны квадратные скобки как символы, то их нужно экранировать обратным слешем.

Для примера в следующем коде шаблон поиска выглядит так: между иксами стоит квадратная скобка:

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

В результате в переменную запишется следующее:

'! xax ! x1x'

Дана строка:

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

Напишите регулярку, которая найдет все слова по шаблону: буква 'x', затем любое количество любых скобок, затем буква 'z'.

Дана строка:

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

Напишите регулярку, которая найдет строки в любых скобках и заменят их на '!'.