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<?php
  echo preg_replace('#\b[a-z]+\b#', '!', 'axx bxx xxx exx'); // affichera '! ! ! !'
?>
Задание 1

Soit la chaîne :

php<?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.