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