使用正则表达式选择roundbracket内的内容

时间:2012-09-06 08:48:52

标签: javascript regex

我试图把内容放在圆形内容中,

例如..如果我们有var str="test exp (content needed)"

之类的内容

我试图将str值设为“需要的内容”;如何使用正则表达式实现它?如果字符串有多个圆括号出现,我希望看到条件如var str="test exp (content needed) test (tst)"

1 个答案:

答案 0 :(得分:0)

试试这个:

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

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

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 mathod。使用polyfill或经典的for循环。