Начало и край на ред в регулярни изрази на 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';
?>
Напишете регулярен израз, който ще намери последния подниз от букви.
Даден е низ:
<?php
$str = '$aaa$ $bbb$ $ccc
';
?>
Напишете регулярен израз, който ще намери последния подниз от букви, заобиколен от символи долар.