Конец или начало слова в регулярках PHP

Команда \b обозначает начало или конец слова, а \B, соответственно, - не начало и не конец слова. Что такое слово? На первый взгляд кажется, что это нечто, ограниченное пробелами, но это не совсем так.

Посмотрите на следующую строку: 'мама мыла раму'. Подстрока 'мыла' - это слово (по обоим краям пробелы), однако и 'мама', и 'раму' тоже слова, которые стоят в начале и в конце строки.

Давайте посмотрим на практическое применение данной команды.

В следующем примере шаблон поиска такой: начало слова, маленькие латинские буквы один или более раз, конец слова. Таким образом, регулярка найдет все слова и заменит их на '!':

<?php echo preg_replace('#\b[a-z]+\b#', '!', 'axx bxx xxx exx'); // выведет '! ! ! !' ?>

Дана строка:

<?php $str = 'aaa xaa aaa xbb aaa'; ?>

Напишите регулярку, которая найдет строки по шаблону: буква 'x' в начале слова.