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

Специалните символи вътре в [] стават обикновени символи. Това означава, че не е необходимо да бъдат екранирани с обратна наклонена черта.

Пример

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

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

В резултат в променливата ще бъде записано следното:

php'! ! ! xdx ! x@x'

Пример

В този пример шаблонът за търсене изглежда така: между x-овете всяка малка латинска буква или точка:

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

В резултат в променливата ще бъде записано следното:

php'! ! ! x@x'

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

Задание 1

Даден е низ:

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

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

Задание 2

Даден е низ:

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

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