Wyjątki wewnątrz zestawów w wyrażeniach regularnych w PHP
Wiesz już, że znaki specjalne wewnątrz []
stają się zwykłymi znakami. Istnieją jednak
wyjątki: jeśli potrzebujesz nawiasów kwadratowych
jako znaków, należy je poprzedzić odwrotnym
ukośnikiem.
Dla przykładu w następującym kodzie wzorzec wyszukiwania wygląda tak: pomiędzy iksami znajduje się nawias kwadratowy:
<?php
$str = 'x]x xax x[x x1x';
$res = preg_replace('#x[\[\]]x#', '!', $str);
?>
W rezultacie do zmiennej zostanie zapisane następujące:
'! xax ! x1x'
Dany jest ciąg:
<?php
$str = 'x[]z x{}z x.z x()z';
?>
Napisz wyrażenie regularne, które znajdzie wszystkie słowa
według wzorca: litera 'x', następnie dowolna
ilość dowolnych nawiasów, następnie litera 'z'.
Dany jest ciąg:
<?php
$str = '[abc] {abc} abc (abc) [abc]';
?>
Napisz wyrażenie regularne, które znajdzie ciągi
w dowolnych nawiasach i zamieni je na '!'.