正则表达式:为单个星号组找到多个匹配项

时间:2013-12-11 14:01:45

标签: c# javascript regex

假设我们有/(a*b)*/ regexp,我们希望得到

{"aab", "ab", "aaab"}

作为与"aababaaab"字符串匹配时唯一一对括号(组)的一组匹配项。当然我们可以modify this regexp使用g修饰符,并在循环中运行它,但是有很多更复杂的例子,当这样的重写因代码爆炸而不合适时。 .NET有一个名为capture的接口。

有没有办法在JS中使用标准库或外部库做同样的事情?

1 个答案:

答案 0 :(得分:0)

我不知道我是否理解正确,但如果你想获得你的查询的最小化表达,你可以使用不合适的匹配:

'aababaaab'.match(/(a*b)+?/g);

问题在于你不会得到所有组合,但你似乎并不关心你的问题。