在notepad++或Visual Studio编辑器中做正则表达式可以替换多行来自动增量编号



例如,更改如下(多行):

hello-a
hello-b
hello-c
hello-d

hello-1
hello-2
hello-3
hello-4

我只是找到regex"hello-[a- za -z]*"来匹配"hello-?",但找不到替代品,将它们替换为自动添加的数字。

我还不确定 Notepad++ ,但是对于 Textpad ,您使用:

i(n)    -or-
i(n,)   -or-
i(n,m)

在您的情况下 i(1) 或只是 i

同样,在您提供的示例regex中:
hello-[a-zA-Z]*

它将匹配(如你所提到的):

hello-a
hello-b
hello-c
hello-d

,但它也会匹配"hello-a…("hello-"后面跟着一个或多个字母):

hello-aa
hello-abc
hello-tuvwxyz

,它也将匹配"hello-"(当后面没有字符或后面没有字母时):

hello-
hello-#
hello-1

所以,如果这是你想要的,Regex搜索将是:

(hello-)[a-zA-Z]*

如果你想匹配"hello-"后面只有一个字母,Regex搜索将是:

(hello-)[a-zA-Z]

如果你想匹配"hello-"后面跟着一个或多个alpha, Regex搜索将是:

(hello-)[a-zA-Z]+
对于所有这些,Regex替换将是:
1i(1)




基本语法是:

i[(n[,m])]

n为起始点,m为增量量。

i(100,5) --> 100,105,110...

如果没有指定括号(i本身),这与i(1)或i(1,1)相同

i --> 1,2,3...

如果指定括号…

如果省略n,则n默认为0。

i(,1) --> 0,1,2...
i(,100) --> 100,200,300...

如果省略",m",则m默认为1。

i(1) --> 1,2,3...
i(101) --> 101,102,103...

如果n和m都被省略[i()本身],这与i(0)或i(0,1)

相同
i() --> 0,1,2...

注意:为了使 i 正常工作,您必须在整个文档(或整个选择)上 Replace all

没有 ending 参数。 i 将继续增加替换,直到所有匹配都被替换。



Notepad++ 中似乎不支持此操作。

最新更新