PHP säännöllisten lausekkeiden takaakatsele

Edellisessä oppitunnissa käsittelimme eteenpäin katsomisen. Vastaavasti on olemassa positiivinen takaakatsele - (?<= ). Seuraavassa esimerkissä korvaus tapahtuu vain, jos ennen 'aaa' on 'x':

php<?php
  preg_replace('#(?<=x)aaa#', '!', 'xaaa'); // palauttaa 'x!'
?>

Ja on olemassa myös negatiivinen takaakatsele - (?<! ). Seuraavassa esimerkissä korvaus tapahtuu vain, jos ennen 'aaa' ei ole 'x':

php<?php
  preg_replace('#(?<!x)aaa#', '!', 'baaa'); // palauttaa 'b!'
?>
Задание 1

Annettu merkkijono muuttujilla:

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

Hae lista muuttujien nimistä tästä merkkijonosta (ilman dollarimerkkiä).