Lookbehind dans les expressions régulières PHP
Dans la leçon précédente, nous avons examiné le lookahead.
De manière analogue, il existe le lookbehind positif
- (?<= ). Dans l'exemple suivant,
le remplacement se produira seulement si devant
'aaa' se trouve 'x' :
<?php
preg_replace('#(?<=x)aaa#', '!', 'xaaa'); // retourne 'x!'
?>
Et il y a aussi le lookbehind négatif
- (?<! ). Dans l'exemple suivant,
le remplacement se produira seulement si devant
'aaa' ne se trouve pas 'x' :
<?php
preg_replace('#(?<!x)aaa#', '!', 'baaa'); // retourne 'b!'
?>
Soit une chaîne avec des variables :
<?php
$str = '$aaa $bbb $ccc';
?>
Obtenez un tableau des noms de variables de cette chaîne (sans le dollar).