正则表达式将字符匹配到括号中

时间:2012-10-12 03:13:05

标签: javascript regex

我正在尝试通过括号()中的javascript字符串值导出。

有效的例子:

var a = "(test) (a b c)";
alert(a.match(/\([\s\S]+?\)/gi));//output: [(test),(a b c)]

但是在一些旧版浏览器中“?”导致错误。

所以我这样做了:

var a = "(test) (a b c)";
alert(a.match(/\([A-Za-z0-9\-_\t\r\n\s]+\)/gi));

然而这种方式不支持外国字符。因此需要使用 \ S

我需要一个 \ s \ S 的解决方案,并且不使用信号。

3 个答案:

答案 0 :(得分:1)

这个更容易

"(test) (a b c)".match(/\([^\)]+\)/gi); // output: ["(test)", "(a b c)"]

答案 1 :(得分:1)

您可以匹配非)字符:

/\([^)]+\)/

答案 2 :(得分:1)

认为这会为你做,不是吗?

([^)] *)

http://gskinner.com/RegExr/