是否有用于计算匹配组的正则表达式转义码?
比如更换:
foo
foo
foo
和:
foo x 3
搜索: ((foo)\n)+
替换: $2 x ?? \n
是否有用于计算匹配组的正则表达式转义码?
比如更换:
foo
foo
foo
和:
foo x 3
搜索: ((foo)\n)+
替换: $2 x ?? \n
我认为您不能仅基于正则表达式来做到这一点。这是 Javascript 中的一个示例:
var myText = "foo\nfoo\nfoo";
var line = myText.match(/(.+)(?=\r?\n\1$)/mg)[0];
var re = new RegExp(line + "\r?\n(?=" + line + "$)","mg");
myText = line + " x " + (myText.match(re).length + 1);
结果:
foo x 3
如果您想对多个值执行此操作,例如“foo\nfoo\nfoo\nbar\nbar”,那么我建议您先将字符串拆分为一个数组。