为什么.NET REGEX搜索引擎仅找到一个匹配点



应用于" 456x56"的正则 (?=(d+))w+1仅找到一个单一匹配" 56x56"。

为什么搜索引擎不进一步寻找下一场比赛" 6x56"?

字符56x56已经被w+1消耗。您不能第二次匹配它们。

如果您想一次搜索字符串一个位置,则需要将所有图案都放在lookahead中,例如:

(?=((d+)w*2))

预期的结果是在捕获组1中。演示

由于lookahead是一个零宽的断言(换句话说(,它不会消耗字符,因此,这样的方式将尝试在字符串中尝试每个位置。

相关内容