Показать сообщение отдельно
  #1 (permalink)  
Старый 26.03.2013, 12:03
Аспирант
Отправить личное сообщение для yngwie19 Посмотреть профиль Найти все сообщения от yngwie19
 
Регистрация: 24.10.2009
Сообщений: 39

Помогите составить регулярку для получения "private" переменных
Короче решил немного по-извращаться с кодом. Есть такой код:

(function () {
       MYAPP.widget = function(oData) { 

          if (oData) {
            for(var sKey in oData) {
              this.setData(sKey, oData[sKey]);
            }       
          }
        };

        MYAPP.widget.prototype =  {
          _oData: {},

           getData : function(sField) {
              if (sField) {
                 return this._oData[sField];
            } else {
               return this._oData;
            }
        },  
        
        _privateMethod: function () {
           var text = '_that_dont_get';
        },
        
        setData : function(sKey, value) {
           this._oData[sKey] = value;
           
           console.log("this._oData[sKey]");
        }
       }
    }())


Мне нужно составить регулярное выражение для получения всех переменных и методов, начинающихся с _ , т.е в данном случае это_oData и _privateMethod

Составил такую регулярку:

(\_[a-zA-Z0-9\_]+)


Но она мне помимо нужных мне переменных возвращает и значения, которые находятся в строках.

Подскажите как можно безопасно получить только переменные, может есть уже готовые решения?
Ответить с цитированием