2

我正在尝试通过括号()内的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的解决方案,并且不使用? 信号。

4

3 回答 3

1

这个比较容易

"(test) (a b c)".match(/\([^\)]+\)/gi); // output: ["(test)", "(a b c)"]
于 2012-10-12T03:20:52.250 回答
1

您可以匹配非)字符:

/\([^)]+\)/
于 2012-10-12T03:21:01.130 回答
1

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

([^)]*)

http://gskinner.com/RegExr/

于 2012-10-12T03:21:45.243 回答