如何在JavaScript中实际捕捉花括号之间的东西?

时间:2012-12-06 22:27:54

标签: javascript regex

我需要捕捉大括号之间的所有内容。所以,如果我有字符串:

{this} {is a} blah {test}

应该返回[this,is a,test]。

我的代码如下所示:

var myString = "{this} {is a} blah {test}";
var parts = (/{([^{}]+)}/g).exec(myString);

//   parts = [{this}, {is a}, {test}]  


var parts = (/{([^{}]+)}/g).exec(myString);
//   parts = [{this}, this]

任何想法/帮助?

2 个答案:

答案 0 :(得分:7)

我认为你过度怂恿布丁:

var rex = /\{([^}]+)\}/g;
var str = "{this} {is a} blah {test}";
var m;
for (m = rex.exec(str); m; m = rex.exec(str)) {
    console.log(m[1]);
}

Live Example | Source

答案 1 :(得分:-2)

var parts = myString.match(/{[^}]+/g).map(function (s) { return s.slice(1); });