notepad++正则替换加前缀用^匹配行首,后缀用$匹配行尾,同时加需^(.*)$捕获原内容;务必启用正则模式、禁用“.匹配换行符”,注意换行符格式与空行处理。

Notepad++ 正则替换怎么给每行加前缀
直接用 ^ 匹配行首,替换为你要的前缀即可。注意必须勾选「匹配模式」里的「正则表达式」,且取消勾选「. 匹配换行符」。
常见错误是误用 .* 或 ^.* 做查找,结果把整行内容吃掉再拼接,导致重复;正确做法是只定位位置,不捕获内容。
- 查找目标填:
^ - 替换为填:
【新增】(或其他前缀) - 确保「搜索模式」→「正则表达式」已启用
- 如果文件含 DOS(
\r\n)和 UNIX(\n)混用换行,^仍能正常匹配所有行首
Notepad++ 正则替换怎么给每行加后缀
用 $ 匹配行尾,原理和加前缀一致。但要注意:它匹配的是换行符之前的位置,不是换行符本身,所以后缀会出现在文本末尾、换行符之前。
如果你希望后缀加在换行符之后(比如每行末尾另起一行写注释),那不能用 $,得用 \R 配合捕获组——但绝大多数场景不需要这么复杂。
- 查找目标填:
$ - 替换为填:
// 处理完成 - 若某行为空行,
$仍会匹配,后缀将加在空行上(即变成“ // 处理完成”),如需跳过空行,查找改为:^(?!\s*$).*$,替换为:$0 // 处理完成
一次性同时加前缀和后缀要怎么写
不能简单叠用两个替换,否则第二步会作用于第一步新加的内容。应该一步到位:用 ^ 和 $ 同时定位,中间用 .* 捕获原行内容(记得开启「匹配新行符」以外的所有默认选项)。
关键点在于捕获组的使用和边界控制,否则容易跨行或漏空行。
- 查找目标填:
^(.*)$ - 替换为填:
【前】\1【后】 - 如果想保留原换行符(推荐),保持「. 不匹配换行符」为默认关闭状态;若关闭该选项,
.*可能吞掉换行,导致全变单行 - 空行也会被匹配(
^$被^(.*)$覆盖),如需排除,改用:^(.+)$,但这样会漏掉纯空行
为什么有些行没被替换?常见陷阱
最常踩的坑不是正则写错,而是 Notepad++ 的「匹配模式」没切对,或者文件编码/换行符异常导致 ^ 和 $ 行为偏移。
- 确认右下角状态栏显示的是
Windows (CR LF)或Unix (LF),不是Mac (CR)(老格式,$可能失效) - 「匹配大小写」和「全字匹配」如果误开,会导致部分行失效,尤其含英文关键词时
- 正则中用了中文标点却忘了切换输入法,比如把
【】打成全角括号,替换后出现乱码 -
^和$在 Notepad++ 中默认是“行首/行尾”,不是“字符串首/尾”,这点和 Python 的re.MULTILINE类似,无需额外标志
真正麻烦的情况是混合了缩进空格、BOM 头、或某些行末带不可见控制字符(比如 \x00),这时 $ 可能无法稳定锚定——得先用十六进制编辑器确认数据干净再操作。











