Il simbolo dell'accento circonflesso all'interno degli insiemi nelle espressioni regolari PHP
Come sapete, l'accento circonflesso all'interno di [] crea
una negazione, quando è scritto all'inizio delle parentesi.
Ciò significa che è un carattere speciale all'interno
di queste parentesi. Per ottenere l'accento circonflesso come carattere,
è necessario o escaparlo, o spostarlo dalla
prima posizione.
Esempio
Nel seguente esempio il modello di ricerca è questo:
il primo carattere è tutto tranne 'd',
poi due lettere 'x'.
<?php
$str = 'axx bxx ^xx dxx';
$res = preg_replace('#[^d]xx#', '!', $str);
?>
Di conseguenza, nella variabile verrà memorizzato quanto segue:
'! ! ! dxx'
Esempio
E ora il modello di ricerca è questo: il primo carattere
- è 'd' o '^', poi due
lettere 'x':
<?php
$str = 'axx bxx ^xx dxx';
$res = preg_replace('#[d^]xx#', '!', $str);
?>
Di conseguenza, nella variabile verrà memorizzato quanto segue:
'axx bxx ! !'
Esempio
Puoi non spostare l'accento circonflesso dalla prima posizione, ma semplicemente escaparlo usando la barra rovesciata, e significherà se stesso:
<?php
$str = 'axx bxx ^xx dxx';
$res = preg_replace('#[\^d]xx#', '!', $str);
?>
Di conseguenza, nella variabile verrà memorizzato quanto segue:
'axx bxx ! !'
Problemi pratici
Data una stringa:
<?php
$str = '^xx axx ^zz bkk @ss';
?>
Scrivi un'espressione regolare che trovi le stringhe secondo il modello: accento circonflesso o chiocciola, e poi due lettere latine.
Data una stringa:
<?php
$str = '^xx axx ^zz bkk @ss';
?>
Scrivi un'espressione regolare che trovi le stringhe secondo il modello: NON accento circonflesso e non chiocciola, e poi due lettere latine.
Data una stringa:
<?php
$str = '^xx axx ^zz bkk';
?>
Scrivi un'espressione regolare che trovi le stringhe secondo il modello: NON accento circonflesso, e poi due lettere latine.