群内正则表达式懒惰匹配?

时间:2016-05-21 10:22:35

标签: javascript regex

我试图匹配以下内容:

aabbaCaabaCabCbaCCC,分组为(aabbaCaabaCabCba)(CCC),即任何最终C匹配为单独的群组。

我以为我可以某种方式使用懒惰匹配,但我尝试过没有尝试过。例如:

/(a+|b+|C*?)+(C*)//(a+|b+|C*)+?(C*)/匹配太多或不够;它们包含第一组中的CCC,或者只匹配最初的aa

顺便说一下,这是在JavaScript中。

1 个答案:

答案 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>");
}