Anfang und Ende einer Zeile in PHP-Regex
Es gibt spezielle Symbole, die den
Anfang ^ oder das Ende einer Zeile $ bezeichnen.
Sehen wir uns ihre Funktion an Beispielen an.
Beispiel
In diesem Beispiel lautet das Suchmuster: Ersetze
'aaa' durch '!', aber nur, wenn es
am Anfang der Zeile steht:
<?php
$str = 'aaa aaa aaa';
res = preg_replace('#^aaa#', '!', $str);
?>
Als Ergebnis wird in die Variable Folgendes geschrieben:
'! aaa aaa'
Beispiel
In diesem Beispiel lautet das Suchmuster: Ersetze
'aaa' durch '!', aber nur, wenn es
am Ende der Zeile steht:
<?php
$str = 'aaa aaa aaa';
$res = preg_replace('#aaa$#', '!', $str);
?>
Als Ergebnis wird in die Variable Folgendes geschrieben:
'aaa aaa !'
Beispiel
Wenn am Anfang des regulären Ausdrucks ^ steht
und am Ende - $, dann prüfen wir auf diese Weise
die gesamte Zeile auf Übereinstimmung mit
dem regulären Ausdruck.
Im folgenden Beispiel lautet das Suchmuster:
der Buchstabe 'a' wiederholt sich einmal oder
mehrmals, ersetze die gesamte Zeile durch '!',
nur wenn sie ausschließlich aus den Buchstaben 'a' besteht.
<?php
$str = 'aaa';
$res = preg_replace('#^a+$#', '!', $str);
?>
Als Ergebnis wird in die Variable Folgendes geschrieben:
'!'
Praktische Aufgaben
Gegeben ist die Zeichenkette:
<?php
$str = 'abc def xyz';
?>
Schreiben Sie einen regulären Ausdruck, der die erste Teilzeichenkette aus Buchstaben findet.
Gegeben ist die Zeichenkette:
<?php
$str = 'abc def xyz';
?>
Schreiben Sie einen regulären Ausdruck, der die letzte Teilzeichenkette aus Buchstaben findet.
Gegeben ist die Zeichenkette:
<?php
$str = '$aaa$ $bbb$ $ccc
';
?>
Schreiben Sie einen regulären Ausdruck, der die letzte Teilzeichenkette aus Buchstaben findet, die von Dollar-Zeichen umgeben ist.