Lookbehind in PHP-Regulären Ausdrücken
In der vorherigen Lektion haben wir Lookahead behandelt.
Analog dazu gibt es positives Lookbehind
- (?<= ). Im folgenden
Beispiel erfolgt ein Ersatz nur, wenn vor
'aaa' ein 'x' steht:
<?php
preg_replace('#(?<=x)aaa#', '!', 'xaaa'); // gibt 'x!' zurück
?>
Und es gibt auch negatives Lookbehind
- (?<! ). Im folgenden Beispiel erfolgt der Ersatz
nur, wenn vor 'aaa'
kein 'x' steht:
<?php
preg_replace('#(?<!x)aaa#', '!', 'baaa'); // gibt 'b!' zurück
?>
Gegeben ist ein String mit Variablen:
<?php
$str = '$aaa $bbb $ccc';
?>
Erhalten Sie ein Array mit den Variablennamen aus diesem String (ohne Dollarzeichen).