javascript - 组内正则表达式惰性匹配?

标签 javascript regex

我正在尝试匹配类似的内容:

aabbaCaabaCabCbaCCC ,分组为(aabbaCaabaCabCba)(CCC) ,即任何最终 C s 作为一个单独的组进行匹配。

我以为我可以以某种方式使用惰性匹配,但我尝试过的任何方法都不起作用。例如:

/(a+|b+|C*?)+(C*)//(a+|b+|C*)+?(C*)/匹配太多或不够;它们包括CCC在第一组中,或者它们仅匹配初始 aa .

顺便说一句,这是用 JavaScript 编写的。

最佳答案

您可以使用此正则表达式

\b([abC]*?)(C*)\b

<强> Regex Demo

JS 演示

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

关于javascript - 组内正则表达式惰性匹配?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37361639/

相关文章:

java - cucumber AmbiguousStepDefinitionsException Java

regex - .htaccess 重定向字符串之前的任何字符

javascript - 检索当前用户的策略

javascript - 为动态子项添加唯一键,而无需任何唯一键

javascript - 如果数据相同,html 表跨度

JavaScript 比较数组在不应该失败的时候失败

python - R 相当于 Python 的 re.findall

javascript - MIGS支付中的Hmac在php和Node.js中的不同

javascript - tumblr 头像 img 调整大小问题。尝试使用正则表达式来调整 img 的大小。

java - 正则表达式:获取字符串前后不带字符的特定字符串