Eccezioni all'interno degli insiemi nelle espressioni regolari PHP
Sai già che i caratteri speciali all'interno di []
diventano caratteri ordinari. Ci sono, tuttavia,
eccezioni: se hai bisogno delle parentesi quadre
come caratteri, allora devi escape them con il backslash.
Ad esempio, nel codice seguente il modello di ricerca è questo: tra le x c'è una parentesi quadra:
<?php
$str = 'x]x xax x[x x1x';
$res = preg_replace('#x[\[\]]x#', '!', $str);
?>
Di conseguenza, nella variabile verrà memorizzato quanto segue:
'! xax ! x1x'
Data una stringa:
<?php
$str = 'x[]z x{}z x.z x()z';
?>
Scrivi un'espressione regolare che trovi tutte le parole
secondo il modello: lettera 'x', poi qualsiasi
numero di parentesi di qualsiasi tipo, poi lettera 'z'.
Data una stringa:
<?php
$str = '[abc] {abc} abc (abc) [abc]';
?>
Scrivi un'espressione regolare che trovi le stringhe
in qualsiasi tipo di parentesi e le sostituisca con '!'.