【问题标题】:Regular expression - remove square brackets from results [duplicate]正则表达式 - 从结果中删除方括号 [重复]
【发布时间】:2015-06-27 02:11:29
【问题描述】:

我有一个字符串如下:

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

我正在尝试使用以下正则表达式在 JavaScript 中解析它:

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

将每个键值返回为[ '[shopUserName]', '[password]', '[shopID]' ]

如何更改正则表达式以从返回值中去除方括号,即数组应为['shopUserName', 'password','shopID']

【问题讨论】:

标签: javascript regex


【解决方案1】:

使用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

【讨论】:

    【解决方案2】:

    尝试使用

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

    【讨论】:

      猜你喜欢
      • 2012-05-22
      • 1970-01-01
      • 1970-01-01
      • 2020-02-14
      • 2018-08-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-10-09
      相关资源
      最近更新 更多