Начало и край на ред в регулярни изрази на PHP

Съществуват специални символи, които обозначават начало ^ или край на ред $. Нека да разгледаме тяхната работа с примери.

Пример

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

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

В резултат в променливата ще бъде записано следното:

php'! aaa aaa'

Пример

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

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

В резултат в променливата ще бъде записано следното:

php'aaa aaa !'

Пример

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

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

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

В резултат в променливата ще бъде записано следното:

php'!'

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

Задание 1

Даден е низ:

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

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

Задание 2

Даден е низ:

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

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

Задание 3

Даден е низ:

php<?php
  $str = '$aaa$ $bbb$ $ccc
';
?>

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