Sublime Text 2中替换字符串的正则表达式计数

时间:2013-05-30 19:08:25

标签: regex replace sublimetext2

是否有用于计算匹配组的正则表达式转义码?

如替换:

foo
foo
foo

使用:

foo x 3

搜索:((foo)\ n)+

替换: $ 2 x ?? \ n

1 个答案:

答案 0 :(得分:0)

我认为你不能单靠正则表达式这样做。这是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”,那么我建议您先将字符串拆分为数组。