Fin ou début de mot dans les regex PHP
La commande \b désigne le début ou la fin
d'un mot, et \B, respectivement, - ni
début ni fin de mot. Qu'est-ce qu'un mot?
À première vue, il semble que ce soit quelque chose,
délimité par des espaces, mais ce n'est pas tout à fait exact.
Regardez la chaîne suivante : house
with fence. La sous-chaîne 'with' -
est un mot (entouré d'espaces des deux côtés), cependant
'house' et 'fence' sont aussi des mots,
qui se trouvent au début et à la fin de la chaîne.
Voyons l'application pratique de cette commande.
Dans l'exemple suivant, le modèle de recherche est :
début de mot, lettres latines minuscules
une ou plusieurs fois, fin de mot. Ainsi,
l'expression régulière trouvera tous les mots et les remplacera
par '!' :
<?php
echo preg_replace('#\b[a-z]+\b#', '!', 'axx bxx xxx exx'); // affichera '! ! ! !'
?>
Soit la chaîne :
<?php
$str = 'aaa xaa aaa xbb aaa';
?>
Écrivez une expression régulière qui trouvera les chaînes
selon le modèle : lettre 'x' au début
du mot.