Начало и конец строки в регулярках 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';
?>
Напишите регулярку, которая найдет последнюю подстроку из букв.