Speciální znaky uvnitř hranatých závorek v PHP
Speciální znaky uvnitř [] se stanou obyčejnými
znaky. To znamená, že je není třeba escapovat
zpětným lomítkem.
Příklad
V tomto příkladu vypadá vyhledávací šablona takto:
mezi iksy jakékoliv písmeno 'a', 'b',
'c', nebo tečka:
<?php
$str = 'xax xbx xcx xdx x.x x@x';
$res = preg_replace('#x[abc.]x#', '!', $str);
?>
Výsledek zapsaný do proměnné bude následující:
'! ! ! xdx ! x@x'
Příklad
V tomto příkladu vypadá vyhledávací šablona takto: mezi iksy jakékoliv malé latinské písmeno nebo tečka:
<?php
$str = 'xax xbx xcx x@x';
$res = preg_replace('#x[a-z.]x#', '!', $str);
?>
Výsledek zapsaný do proměnné bude následující:
'! ! ! x@x'
Praktické úlohy
Je dán řetězec:
<?php
$str = 'aba aea aca aza axa a.a a+a a*a';
?>
Napište regulární výraz, který najde řetězce
'a.a', 'a+a', 'a*a',
a neovlivní ostatní.
Je dán řetězec:
<?php
$str = 'xaz x.z x3z x@z x$z xrz';
?>
Napište regulární výraz, který najde řetězce
podle šablony: písmeno 'x', poté NE
tečka, NE zavináč, a NE dolar, a poté písmeno
'z'.