Notepad++正则替换:在行首数字前插入‘Linha:’且保留原数字的方法
正则替换技巧:在行首数字前添加固定文本且保留原内容
问题场景
我有如下列表内容:
57 Nome: O Paradoxo Cloverfield
58 Nome: Batman: Gotham by Gaslight
59 Nome: Batman: Gotham by Gaslight
60 Nome: Batman: Gotham by Gaslight
61 Nome: Batman: Gotham by Gaslight
62 Nome: Vende-se Esta Casa
...
需要将每行处理成开头带有Linha: 的格式,目标效果:
Linha: 57 Nome: O Paradoxo Cloverfield
Linha: 58 Nome: Batman: Gotham by Gaslight
...
我已经用正则表达式^[0-9]+匹配到了行首的数字,但不知道替换时怎么插入Linha: 同时不丢失原数字,恳请协助。
解决方案:利用正则捕获组保留原内容
别慌,这是正则替换里非常基础的捕获组用法,只需两步就能搞定:
1. 调整正则表达式,添加捕获组
把你原来的正则^[0-9]+修改为^([0-9]+)——用括号把需要保留的行首数字包裹起来,这样这部分内容会被标记为第1个捕获组,替换时可以直接引用它。
2. 设置替换规则
在替换输入框中填写Linha: $1:
Linha:是你要添加的固定前缀$1代表刚才捕获到的行首数字(不同工具的引用符号可能有差异:比如Notepad++部分版本用\1,主流编辑器如VS Code、Sublime Text都支持$1)
实操示例(以VS Code为例)
- 打开替换面板(快捷键
Ctrl+H) - 勾选「正则表达式」模式(点击面板上的
.*按钮) - 查找框输入:
^([0-9]+) - 替换框输入:
Linha: $1 - 点击「全部替换」,所有行就会一次性完成修改!
这个方法的核心逻辑是:捕获组帮你暂存了需要保留的数字内容,替换时通过$1把数字“召回”,再拼接上固定前缀,既完成了添加操作,又不会丢失原内容。
内容的提问来源于stack exchange,提问作者Amazing man
相关产品推荐
相关产品推荐

