Javascript 使用正则表达式选择圆括号内的内容

Javascript 使用正则表达式选择圆括号内的内容,javascript,regex,Javascript,Regex,我想把里面的东西放进一个圆形的箱子里 例如。。如果我们有像var str=“test exp(需要的内容)”这样的内容 我试图将str值设置为“所需内容”;如何使用正则表达式实现它?我想看看这个字符串是否有多个圆括号出现,比如var str=“test exp(content needed)test(tst)”试试这个: var m = /\(([^)]*)\)/.exec(str); str = m[1]; 请注意:对于简单的情况,最好使用常规字符串方法,如indexOf和substring

我想把里面的东西放进一个圆形的箱子里

例如。。如果我们有像
var str=“test exp(需要的内容)”这样的内容

我试图将str值设置为“所需内容”;如何使用正则表达式实现它?我想看看这个字符串是否有多个圆括号出现,比如
var str=“test exp(content needed)test(tst)”

试试这个:

var m = /\(([^)]*)\)/.exec(str);
str = m[1];
请注意:对于简单的情况,最好使用常规字符串方法,如
indexOf
substring
,因为它们通常更快、更清晰。例如:

var i1 = str.indexOf("("), i2 = str.indexOf(")");
str = str.substring(i1, i2);
如果要匹配括号之间的所有序列,可以尝试以下操作:

var m = str.match(/\([^)]*\)/g);
m = m.map(function(match) {return match.slice(1, -1);});
现在
m
包含括号之间的所有内容,包括括号。如果只想获取内部内容,请尝试以下操作:

var m = str.match(/\([^)]*\)/g);
m = m.map(function(match) {return match.slice(1, -1);});

请记住,这不适用于IE8及更早版本,因为它不支持数组的
map
mathod。对于
循环,可以使用polyfill,也可以使用经典的

如果出现多个圆括号,该怎么办。。m[1]不是通用方法