Lookbehind în expresiile regulate PHP
În lecția precedentă am analizat lookahead-ul.
În mod analog există lookbehind pozitiv
- (?<= ). În următorul exemplu înlocuirea
va avea loc doar dacă înaintea lui
'aaa' se află 'x':
<?php
preg_replace('#(?<=x)aaa#', '!', 'xaaa'); // va returna 'x!'
?>
Și există de asemenea lookbehind negativ
- (?<! ). În următorul exemplu înlocuirea
va avea loc doar dacă înaintea lui 'aaa'
nu se află 'x':
<?php
preg_replace('#(?<!x)aaa#', '!', 'baaa'); // va returna 'b!'
?>
Este dat un șir cu variabile:
<?php
$str = '$aaa $bbb $ccc';
?>
Obțineți un array cu numele variabilelor din acest șir (fără dolar).