我试图匹配以下内容:
aabbaCaabaCabCbaCCC
,分组为(aabbaCaabaCabCba)(CCC)
,即任何最终C
匹配为单独的群组。
我以为我可以某种方式使用懒惰匹配,但我尝试过没有尝试过。例如:
/(a+|b+|C*?)+(C*)/
和/(a+|b+|C*)+?(C*)/
匹配太多或不够;它们包含第一组中的CCC
,或者只匹配最初的aa
。
顺便说一下,这是在JavaScript中。
答案 0 :(得分:1)
您可以使用此正则表达式
\b([abC]*?)(C*)\b
<强> Regex Demo 强>
JS Demo
var re = /\b([abC]+?)(C*)\b/g;
var str = "aabbaCaabaCabCbaCCC";
if ((m = re.exec(str)) !== null) {
document.writeln("<pre>" + m[1] + "</br>" + m[2] + "</br>" + "</pre>");
}