0

例如,更改以下内容(多行):

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

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

我只是找到正则表达式“hello-[a-zA-Z]*”来匹配“hello-?”,但找不到替换它们以自动添加数字。

4

1 回答 1

2

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

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

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

此外,在您提供的示例正则表达式中:
hello-[a-zA-Z]*

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

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

但它也会匹配“hello-a...a”(“hello-”后跟一个或多个 alpha):

hello-aa
hello-abc
hello-tuvwxyz

并且它也将匹配“hello-”(当后面没有任何内容或后面跟着非 alpha 时):

hello-
hello-#
hello-1

因此,如果这是您想要的,Regex 搜索将是:

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

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

(hello-)[a-zA-Z]

如果您想匹配“hello-”后跟一个或多个 alpha,Regex 搜索将是:

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

对于所有这些,Regex 替换将是:

\1\i(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++.

于 2013-04-11T04:12:10.193 回答