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<?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<?php
  preg_replace('#(?<!x)aaa#', '!', 'baaa'); // va returna 'b!'
?>
Задание 1

Este dat un șir cu variabile:

php<?php
  $str = '$aaa $bbb $ccc';
?>

Obțineți un array cu numele variabilelor din acest șir (fără dolar).