Début et fin de ligne dans les regex PHP
Il existe des caractères spéciaux qui désignent
le début ^ ou la fin de ligne $.
Regardons leur fonctionnement à travers des exemples.
Exemple
Dans cet exemple, le modèle de recherche est le suivant : remplacer
'aaa' par '!' seulement s'il
se trouve au début de la ligne :
<?php
$str = 'aaa aaa aaa';
$res = preg_replace('#^aaa#', '!', $str);
?>
En conséquence, la variable contiendra ce qui suit :
'! aaa aaa'
Exemple
Dans cet exemple, le modèle de recherche est le suivant : remplacer
'aaa' par '!' seulement s'il
se trouve à la fin de la ligne :
<?php
$str = 'aaa aaa aaa';
$res = preg_replace('#aaa$#', '!', $str);
?>
En conséquence, la variable contiendra ce qui suit :
'aaa aaa !'
Exemple
Lorsque le début de l'expression régulière est ^,
et la fin - $, alors nous vérifions
ainsi que la chaîne entière correspond
à l'expression régulière.
Dans l'exemple suivant, le modèle de recherche est le suivant :
la lettre 'a' se répète une fois ou
plus, remplacer toute la chaîne par '!'
seulement si elle est constituée uniquement de lettres 'a'.
<?php
$str = 'aaa';
$res = preg_replace('#^a+$#', '!', $str);
?>
En conséquence, la variable contiendra ce qui suit :
'!'
Tâches pratiques
Soit la chaîne :
<?php
$str = 'abc def xyz';
?>
Écrivez une expression régulière qui trouvera la première sous-chaîne de lettres.
Soit la chaîne :
<?php
$str = 'abc def xyz';
?>
Écrivez une expression régulière qui trouvera la dernière sous-chaîne de lettres.
Soit la chaîne :
<?php
$str = '$aaa$ $bbb$ $ccc
;
?>
Écrivez une expression régulière qui trouvera la dernière sous-chaîne de lettres, entourée de symboles de dollar.