Lookbehind em expressões regulares do PHP

Na lição anterior, cobrimos o lookahead. De forma análoga, existe o lookbehind positivo - (?<= ). No exemplo a seguir, a substituição ocorrerá apenas se houver um 'x' antes de 'aaa':

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

E também existe o lookbehind negativo - (?<! ). No exemplo a seguir, a substituição ocorrerá apenas se 'x' NÃO estiver antes de 'aaa':

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

Dada uma string com variáveis:

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

Obtenha um array com os nomes das variáveis desta string (sem o cifrão).