2015-04-20 53 views
0

刪除方括號我有一個字符串,如下所示:正則表達式 - 從結果

var str = 'Array 
(
    [shopUsername] => tod 
    [password] => 12345678 
    [shopID] => 19 
)'; 

我嘗試使用下面的正則表達式在JavaScript解析這個:

var matches = parsedXMLStr.match(/\[(.*)\]/g); 

返回各的關鍵值爲[ '[shopUserName]', '[password]', '[shopID]' ]

如何更改正則表達式以從返回值中去掉方括號,即數組應該是['shopUserName', 'password','shopID']

+0

從指數獲得組1 – Braj

+0

使用'exec'代替。請參閱:http://stackoverflow.com/questions/19913667/javascript-regex-global-match-groups – Halcyon

+0

這個字符串是從一個可以修改的PHP服務發出的? (如果是這樣,你可以嘗試類似'json_encode',參見:http://stackoverflow.com/a/16118772/344143) –

回答

3

使用exec搶組:

var str = 'Array( [shopUsername] => tod\n [password] => 12345678\n [shopID] => 19)'; 
var match; 
var results = []; 
var regex = new RegExp(/\[(.*)\]/g); 
while(match = regex.exec(str)) { 
    results.push(match[1]); 
} 
console.log(results); 

jsFiddle

0

嘗試使用

str.replace(/[\[\]']+/g,'')