Caratteri speciali all'interno di parentesi quadre in PHP
I caratteri speciali all'interno di [] diventano caratteri
ordinari. Ciò significa che non è necessario eseguirne l'escape
con la barra retroversa.
Esempio
In questo esempio il modello di ricerca è il seguente:
tra le x qualsiasi lettera 'a', 'b',
'c', oppure un punto:
<?php
$str = 'xax xbx xcx xdx x.x x@x';
$res = preg_replace('#x[abc.]x#', '!', $str);
?>
Di conseguenza, nella variabile verrà memorizzato quanto segue:
'! ! ! xdx ! x@x'
Esempio
In questo esempio il modello di ricerca è il seguente: tra le x qualsiasi lettera latina minuscola o un punto:
<?php
$str = 'xax xbx xcx x@x';
$res = preg_replace('#x[a-z.]x#', '!', $str);
?>
Di conseguenza, nella variabile verrà memorizzato quanto segue:
'! ! ! x@x'
Problemi pratici
Data la stringa:
<?php
$str = 'aba aea aca aza axa a.a a+a a*a';
?>
Scrivi un'espressione regolare che trovi le stringhe
'a.a', 'a+a', 'a*a',
senza influire sulle altre.
Data la stringa:
<?php
$str = 'xaz x.z x3z x@z x$z xrz';
?>
Scrivi un'espressione regolare che trovi le stringhe
secondo il modello: lettera 'x', poi NON
punto, NON chiocciola, e NON dollaro, e poi lettera
'z'.