Регулярные выражения: разбор переменных JavaScript

ne0n

Новичок
Понадобилось получать информацию о переменных в *.js файлах (их имена и содержимое), написал шаблон для PCRE:

@([_$a-zA-Z][_$\w]*)\s*(?==)=\s*(.+?);@

он естественно "спотыкается" в переменных содержащих символ ";" - возвращает неполное содержимое переменной.

Подскажите, как можно учесть возможный ";" внутри переменных?
 
Сверху