Не делайте этого с регулярным выражением. После того, как вы собрали их все в $variables
, просто отфильтруйте их, используя обычную логику / операции программирования. Например, используя array_unique
, как упомянул Гамбо.
Кроме того, что будет делать ваше регулярное выражение в следующих случаях:
// this is $not a var
foo('and this $var should also not appear!');
/* and what about $this one? */
Все три «переменные» ($not
, $var
и $this
) не являются переменными, но будут соответствовать вашему регулярному выражению.