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

Существуют специальные символы, которые обозначают начало ^ или конец строки $. Давайте посмотрим их работу на примерах.

Пример

В данном примере шаблон поиска такой: заменить 'aaa' на '!' только, если оно стоит в начале строки:

<?php $str = 'aaa aaa aaa'; $res = preg_replace('#^aaa#', '!', $str); ?>

В результате в переменную запишется следующее:

'! aaa aaa'

Пример

В данном примере шаблон поиска такой: заменить 'aaa' на '!' только, если оно стоит в конце строки:

<?php $str = 'aaa aaa aaa'; $res = preg_replace('#aaa$#', '!', $str); ?>

В результате в переменную запишется следующее:

'aaa aaa !'

Пример

Когда в начале регулярки стоит ^, а в конце - $, то таким образом мы проверяем всю строку целиком на соответствие регулярке.

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

<?php $str = 'aaa'; $res = preg_replace('#^a+$#', '!', $str); ?>

В результате в переменную запишется следующее:

'!'

Практические задачи

Дана строка:

<?php $str = 'abc def xyz'; ?>

Напишите регулярку, которая найдет первую подстроку из букв.

Дана строка:

<?php $str = 'abc def xyz'; ?>

Напишите регулярку, которая найдет последнюю подстроку из букв.