Lookbehind w wyrażeniach regularnych PHP
W poprzedniej lekcji omówiliśmy lookahead.
Analogicznie istnieje pozytywny lookbehind
- (?<= ). W następnym
przykładzie zamiana nastąpi tylko, jeśli przed
'aaa' stoi 'x':
<?php
preg_replace('#(?<=x)aaa#', '!', 'xaaa'); // zwróci 'x!'
?>
I jest też negatywny lookbehind
- (?<! ). W następnym przykładzie zamiana
nastąpi tylko, jeśli przed 'aaa'
nie stoi 'x':
<?php
preg_replace('#(?<!x)aaa#', '!', 'baaa'); // zwróci 'b!'
?>
Dany jest ciąg ze zmiennymi:
<?php
$str = '$aaa $bbb $ccc';
?>
Pobierz tablicę nazw zmiennych z tego ciągu (bez dolara).