我试图把内容放在圆形内容中,
例如..如果我们有var str="test exp (content needed)"
我试图将str值设为“需要的内容”;如何使用正则表达式实现它?如果字符串有多个圆括号出现,我希望看到条件如var str="test exp (content needed) test (tst)"
答案 0 :(得分:0)
试试这个:
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 = m.map(function(match) {return match.slice(1, -1);});
请记住,这不适用于IE8及更早版本,因为它不支持数组的map
mathod。使用polyfill或经典的for
循环。