2013-04-23 56 views
0

我有一個完整的字符串組成是這樣的[(data1.1)(data1.2)] [(data2.1)(data2.1)的JavaScript得到串出括號匹配正則表達式

伊夫閱讀你可以用匹配函數和正則表達式做一些聰明的事情。我想要兩個數組加載括號外的數據。我究竟如何做到這一點?請用我的字符串作爲例子。

+0

請發佈您的JavaScript代碼到目前爲止。 – elclanrs 2013-04-23 22:13:51

回答

0

我不能完全確定你是什麼之後,但我假設這

var what = '[(data1.1)(data1.2)][(data2.1)(data2.2)]', 
    have = [], 
    you = [], 
    tried = /\[\(([^)]*)\)\(([^)]*)\)\]/g; 
what.replace(tried, function (use, brain, forthis) { 
    you.push((have.push(brain), forthis)); 
}); 
console.log(have, you); 
// ["data1.1", "data2.1"] ["data1.2", "data2.2"] 
1

我想出了這個憎惡

var array = s.replace(/^\[|\]$/g,'').split('][').map(function(a){  
    return a.replace(/^\(|\)$/g,'').split(')(') 
}); 

http://jsfiddle.net/8kLhc/

此外,如果你故意保存或傳輸這樣的數據,那麼你應該看看JSON或正確的數據庫設計。