使用正则表达式插入序号

Insert Sequential Number using Regular Expression

鉴于:

pad_
pad_
pad_

如何使用正则表达式来表现得像"for loop"得到:

pad_1
pad_2
pad_3

我知道 </code> 和 <code> 等编号序列可以用在替换表达式中以指示现有文本中的 () 捕获,但是单个替换表达式可以生成它的自己的替换值作为数字序列?除了手头保留一个我可以 copy/paste 的带有数字序列的文本文件,或者编写一个使用 "for loop" 输出文本的快速应用程序之外,是否有某种技巧可以实现这一点?

结论:我的印象是正则表达式语法不是文本编辑应用程序统一实现的标准,也不包含任何符合利用匹配计数目的的内容在替换表达式或启动替换文本序列中。不幸的是,这意味着我需要使用像 vim 这样的文本编辑器,它们可能会出于不适合他们的目的执行此操作,或者尝试为文本编辑器或 IDE 寻找或制作应用程序插件使用。但实际上编译和 运行 一个快速 "for loop" 将字符串打印到 copy/paste 并且我可以通过以较小的方式进行更改或使用 awk 这是建议的。

如果 perl 可以,我想 awk 也可以:

awk '[=10=]=[=10=] NR' file

我没有 notepad++,但 vim.

这很容易

使用 vim 编辑器的一种方法

  • %s/$/0/ 这会将 0 附加到每一行
  • select所有行,你可以做到ggVG
  • 让数字增长:gCtrl-A

看起来像:

vim 编辑器的另一种方式

  • visual select(例如V)您要附加的行 seq
  • :'<,'>s/$/\=line('.')-line("'<")+1 当您按下 : 时,'<,'> 范围将自动填充
  • 按回车键,完成。

TextPad https://textpad.com/index.html

TextPad 会执行此操作。它有一个增加计数器 \i

的内置函数

\i从1开始递增1

\i(100) 从100开始,递增1

\i(100,10) 从100开始,递增10

等等