Специални символи вътре в квадратни скоби в PHP
Специалните символи вътре в [] стават обикновени
символи. Това означава, че не е необходимо да бъдат екранирани
с обратна наклонена черта.
Пример
В този пример шаблонът за търсене изглежда така:
между x-овете всяка буква 'a', 'b',
'c', или точка:
<?php
$str = 'xax xbx xcx xdx x.x x@x';
$res = preg_replace('#x[abc.]x#', '!', $str);
?>
В резултат в променливата ще бъде записано следното:
'! ! ! xdx ! x@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'.