RegEx - 匹配简单的集合语法并提取内容

时间:2012-03-30 16:06:50

标签: javascript regex

我需要匹配[one, two, three, hello, foobar]之类的字符串,并分别提取onetwothreehellofoobar

如何使用正则表达式和Javascript实现这一目标?

我已尝试\[((\w+)\s*,?\s*)*\],但这也会匹配[one two, three] ,缺少),我也不知道如何提取{{1}每场比赛的小组。

1 个答案:

答案 0 :(得分:2)

也许是这样的?

var s = '[one, two, three, hello, fo obar]';
var words = s.replace(/^\s*\[\s*/, '') //remove [
             .replace(/\s*\]\s*$/, '') //remove ]
             .split(/\s*,\s*/);        // split by comma

工作示例:http://jsbin.com/edijef

当然,如果您在文本中转义了逗号,这会变得更加复杂,因为拆分不再是一种选择。