Notepad++用正则^和$可一键为每行首尾加符号,无需插件:先替换$加尾符,再替换^加首符;注意勾选“正则表达式”、统一换行符、避免BOM干扰。

Notepad++ 本身不支持纯图形界面一键给每行首尾加符号,但用内置的“查找替换”正则就能搞定,根本不用装插件——装了反而容易踩坑。
用 ^ 和 $ 匹配行首行尾最稳
很多人搜“Notepad++ 批量加引号”,第一反应是找插件,其实 Ctrl+H 打开替换框,勾选“正则表达式”,直接写:
查找:^ 替换:"
再跑一次:
查找:$ 替换:"
就能给每行开头结尾都加上双引号。关键点:
-
^只匹配行首(不含空行开头的换行符) -
$只匹配行尾(不含换行符本身),所以加符号后换行结构不变 - 如果文本末尾有空行,
$仍会匹配它,但不会在换行符前插入——这是预期行为,不是 bug - 别用
\r\n或\n去匹配换行,那会破坏原有格式
想加不同符号或带空格?改替换内容就行
比如要把每行包进 SQL 的 IN 条件里:
查找:^ 替换:', '
再补头尾:
查找:^
替换:IN ('
查找:$ 替换:')
注意顺序:先加行尾符号,再加行首符号,否则第二步会把刚加的尾符又套一层。常见错误:
- 把
^和$写在同一行查找里(如^.*$),结果是整行替换,不是“在首尾插入” - 忘了勾选“正则表达式”,
^和$就变成普通字符,毫无效果 - 用了扩展正则(如
^.*$+ “匹配新行”选项),可能吞掉空行或跨行错位
插件(如 TextFX、Python Script)反而增加复杂度
TextFX 的 TextFX Characters → Add prefix/suffix 看似方便,但实际限制多:
- 只支持固定字符串,不支持换行、制表符等特殊字符
- 对 Unicode 编码异常敏感,中文环境下常乱码
- 不兼容新版 Notepad++(v8.0+ 已移除 TextFX 官方支持)
- Python Script 插件要写脚本,调试成本远高于两行正则
除非你要做条件包装(比如“只给非空行加”或“跳过注释行”),否则正则更直接。真要条件判断,也建议用 ^(?!$)(非空行行首)这类正则,而不是切到插件环境。
批量处理大文件时注意性能和编码
10MB 以上文件用正则替换可能卡顿,原因不是正则慢,而是 Notepad++ 渲染重绘:
- 操作前关闭“自动换行”和“显示所有字符”(
View → Show Symbol → Show All Characters) - 确保文件编码是 UTF-8 无 BOM 或 ANSI;如果显示为
UTF-8-BOM,^可能匹配不到首行(BOM 占三个字节,^实际落在 BOM 后) - 替换前先用
Ctrl+Shift+F全局预览匹配数,避免误操作
真正容易被忽略的是:Notepad++ 的 ^ 和 $ 默认按“Unix 换行”逻辑工作,即使你在 Windows 下编辑,只要文件里混用了 \r\n 和 \n,$ 仍只认 \n —— 所以统一换行符(Edit → EOL Conversion)比调插件更重要。


















