1

我正在尝试将内容放入圆形支架中,

例如..如果我们有类似的内容var str="test exp (content needed)"

我正在尝试将 str 值设为“需要的内容”;如何使用正则表达式实现它?如果字符串不止一次出现圆括号,我想看看情况var str="test exp (content needed) test (tst)"

4

1 回答 1

0

尝试这个:

var m = /\(([^)]*)\)/.exec(str);
str = m[1];

请注意:请记住,对于简单的情况,最好使用常规字符串方法,例如indexOfand substring,因为它们通常更快,更清晰。例如:

var i1 = str.indexOf("("), i2 = str.indexOf(")");
str = str.substring(i1, i2);

如果你想匹配括号之间的所有序列,你可以试试这个:

var m = str.match(/\([^)]*\)/g);

现在m包含括号之间的所有内容,包括括号。如果您只想获取内部内容,请尝试以下操作:

m = m.map(function(match) {return match.slice(1, -1);});

请记住,这不适用于 IE8 和更早版本,因为它不支持map数组的方法。要么使用 polyfill,要么使用经典for循环。

于 2012-09-06T08:51:03.997 回答