我想捕获一个字符串,其中有一个字符的最长数量,后跟不超过两个另一个字符。 例:
aaaaabbbbbbbb
将捕获:
aaaaabb, bb and b
我试过:
(a*)(b)(?!2{2})
但这只是像这样抓住两个B:
bb
a*b{0,2}
这匹配任意数量的a
后跟最多 2b
。
使用您的输入时,它匹配
aaaaabb
bb
bb
bb
由于{0,2}
是贪婪的,它总是匹配成对的b
,而不仅仅是一个。它匹配所有剩余的bb
,因为它们前面有零a
,与a*
匹配。
演示