Спецсімвалы ўнутры квадратных дужак у 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'.