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

selecting contents inside roundbracket using regular expression

本文关键字:圆括号 选择 正则表达式      更新时间:2023-09-26

我正在尝试获取圆形制动器内的内容

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

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

试试这个:

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方法。可以使用polyfill,也可以使用经典的for循环。