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

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

Пример

В данном примере шаблон поиска выглядит так: между иксами любая буква 'a', 'b', 'c', либо точка:

<?php $str = 'xax xbx xcx xdx x.x x@x'; $res = preg_replace('#x[abc.]x#', '!', $str); ?>

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

'! ! ! xdx ! x@x'

Пример

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

<?php $str = 'xax xbx xcx x@x'; $res = preg_replace('#x[a-z.]x#', '!', $str); ?>

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

'! ! ! x@x'

Практические задачи

Дана строка:

<?php $str = 'aba aea aca aza axa a.a a+a a*a'; ?>

Напишите регулярку, которая найдет строки 'a.a', 'a+a', 'a*a', не затронув остальных.

Дана строка:

<?php $str = 'xaz x.z x3z x@z x$z xrz'; ?>

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