Začátek a konec řetězce v regulárních výrazech PHP
Existují speciální symboly, které označují
začátek ^ nebo konec řetězce $.
Podívejme se na jejich funkci na příkladech.
Příklad
V tomto příkladu je vzor hledání tento: nahradit
'aaa' za '!' pouze, pokud
je na začátku řetězce:
<?php
$str = 'aaa aaa aaa';
$res = preg_replace('#^aaa#', '!', $str);
?>
Výsledkem bude v proměnné následující:
'! aaa aaa'
Příklad
V tomto příkladu je vzor hledání tento: nahradit
'aaa' za '!' pouze, pokud
je na konci řetězce:
<?php
$str = 'aaa aaa aaa';
$res = preg_replace('#aaa$#', '!', $str);
?>
Výsledkem bude v proměnné následující:
'aaa aaa !'
Příklad
Když je na začátku regulárního výrazu ^,
a na konci - $, tak tímto způsobem
kontrolujeme celý řetězec zda odpovídá
regulárnímu výrazu.
V následujícím příkladu je vzor hledání tento:
písmeno 'a' se opakuje jednou nebo
vícekrát, nahradit celý řetězec za '!'
pouze pokud se skládá ze samých písmen 'a'.
<?php
$str = 'aaa';
$res = preg_replace('#^a+$#', '!', $str);
?>
Výsledkem bude v proměnné následující:
'!'
Praktické úlohy
Je dán řetězec:
<?php
$str = 'abc def xyz';
?>
Napište regulární výraz, který najde první podřetězec z písmen.
Je dán řetězec:
<?php
$str = 'abc def xyz';
?>
Napište regulární výraz, který najde poslední podřetězec z písmen.
Je dán řetězec:
<?php
$str = '$aaa$ $bbb$ $ccc
';
?>
Napište regulární výraz, který najde poslední podřetězec z písmen, obklopený symboly dolaru.