Znaki specjalne wewnątrz nawiasów kwadratowych w PHP
Znaki specjalne wewnątrz [] stają się zwykłymi
znakami. Oznacza to, że nie trzeba ich escapować
odwrotnym ukośnikiem.
Przykład
W tym przykładzie wzorzec wyszukiwania wygląda tak:
pomiędzy iksami dowolna litera 'a', 'b',
'c', albo kropka:
<?php
$str = 'xax xbx xcx xdx x.x x@x';
$res = preg_replace('#x[abc.]x#', '!', $str);
?>
W wyniku do zmiennej zapisze się następująco:
'! ! ! xdx ! x@x'
Przykład
W tym przykładzie wzorzec wyszukiwania wygląda tak: pomiędzy iksami dowolna mała litera łacińska lub kropka:
<?php
$str = 'xax xbx xcx x@x';
$res = preg_replace('#x[a-z.]x#', '!', $str);
?>
W wyniku do zmiennej zapisze się następująco:
'! ! ! x@x'
Zadania praktyczne
Dany jest ciąg:
<?php
$str = 'aba aea aca aza axa a.a a+a a*a';
?>
Napisz wyrażenie regularne, które znajdzie ciągi
'a.a', 'a+a', 'a*a',
nie dotykając pozostałych.
Dany jest ciąg:
<?php
$str = 'xaz x.z x3z x@z x$z xrz';
?>
Napisz wyrażenie regularne, które znajdzie ciągi
według wzorca: litera 'x', następnie NIE
kropka, NIE małpa, i NIE dolar, a potem litera
'z'.