Le symbole de l'accent circonflexe dans les ensembles des expressions régulières en PHP
Comme vous le savez, l'accent circonflexe à l'intérieur de [] crée
une négation, lorsqu'il est écrit au début des crochets.
Cela signifie que c'est un métacaractère à l'intérieur
de ces crochets. Pour obtenir l'accent circonflexe en tant que caractère,
il faut soit l'échapper, soit le retirer de la
première position.
Exemple
Dans l'exemple suivant, le modèle de recherche est le suivant :
le premier caractère est tout sauf 'd',
puis deux lettres 'x'.
<?php
$str = 'axx bxx ^xx dxx';
$res = preg_replace('#[^d]xx#', '!', $str);
?>
En conséquence, la variable contiendra ce qui suit :
'! ! ! dxx'
Exemple
Et maintenant, le modèle de recherche est le suivant : le premier caractère
est 'd' ou '^', puis deux
lettres 'x' :
<?php
$str = 'axx bxx ^xx dxx';
$res = preg_replace('#[d^]xx#', '!', $str);
?>
En conséquence, la variable contiendra ce qui suit :
'axx bxx ! !'
Exemple
Il n'est pas nécessaire de retirer l'accent circonflexe de la première position, il suffit de l'échapper avec un antislash, et il représentera alors lui-même :
<?php
$str = 'axx bxx ^xx dxx';
$res = preg_replace('#[\^d]xx#', '!', $str);
?>
En conséquence, la variable contiendra ce qui suit :
'axx bxx ! !'
Tâches pratiques
Soit une chaîne :
<?php
$str = '^xx axx ^zz bkk @ss';
?>
Écrivez une expression régulière qui trouvera les chaînes selon le modèle : accent circonflexe ou arobase, puis deux lettres latines.
Soit une chaîne :
<?php
$str = '^xx axx ^zz bkk @ss';
?>
Écrivez une expression régulière qui trouvera les chaînes selon le modèle : NI accent circonflexe NI arobase, puis deux lettres latines.
Soit une chaîne :
<?php
$str = '^xx axx ^zz bkk';
?>
Écrivez une expression régulière qui trouvera les chaînes selon le modèle : NON accent circonflexe, puis deux lettres latines.