Begin en einde van een regel in PHP regex
Er zijn speciale symbolen die het
begin ^ of het einde van een regel $ aangeven.
Laten we hun werking bekijken aan de hand van voorbeelden.
Voorbeeld
In dit voorbeeld is het zoekpatroon als volgt: vervang
'aaa' door '!' alleen als het
aan het begin van de regel staat:
<?php
$str = 'aaa aaa aaa';
$res = preg_replace('#^aaa#', '!', $str);
?>
Als resultaat wordt het volgende in de variabele geschreven:
'! aaa aaa'
Voorbeeld
In dit voorbeeld is het zoekpatroon als volgt: vervang
'aaa' door '!' alleen als het
aan het einde van de regel staat:
<?php
$str = 'aaa aaa aaa';
$res = preg_replace('#aaa$#', '!', $str);
?>
Als resultaat wordt het volgende in de variabele geschreven:
'aaa aaa !'
Voorbeeld
Wanneer ^ aan het begin van de regex staat,
en $ aan het einde, dan controleren we
op deze manier of de gehele regel als geheel voldoet aan de
regex.
In het volgende voorbeeld is het zoekpatroon als volgt:
de letter 'a' herhaalt zich een of
meer keren, vervang de hele regel door '!'
alleen als deze volledig uit letters 'a' bestaat.
<?php
$str = 'aaa';
$res = preg_replace('#^a+$#', '!', $str);
?>
Als resultaat wordt het volgende in de variabele geschreven:
'!'
Praktische opdrachten
Gegeven een regel:
<?php
$str = 'abc def xyz';
?>
Schrijf een regex die de eerste substring uit letters vindt.
Gegeven een regel:
<?php
$str = 'abc def xyz';
?>
Schrijf een regex die de laatste substring uit letters vindt.
Gegeven een regel:
<?php
$str = '$aaa$ $bbb$ $ccc';
?>
Schrijf een regex die de laatste substring uit letters vindt, omgeven door dollartekens.