# Исключения внутри наборов в регулярках в регулярках PHP

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

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

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

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

←→
↑