正则替换前必须确认右下角显示“正则表达式”,否则\d等会被当普通字符处理;换行符需按文档格式用\r\n、\n或\r;捕获组与反向引用是核心;批量替换前须预览并限定路径。

正则替换前必须确认右下角显示“正则表达式”
Notepad++ 不会报错,但若右下角状态栏没显示 正则表达式,所有 \d、.*、(\w+) 都会被当普通字符串处理——比如输 \d 实际找的是反斜杠加字母 d 两个字符,根本匹配不到数字。
- 操作路径:按
Ctrl + H→ 看右下角 → 若显示普通或扩展,必须手动切换为正则表达式 - 老版本(如 7.8 及更早)对
\R支持不稳定,建议升级到 7.9+ - UTF-8 with BOM 文件可能导致
\R失效;可临时用编码 → 转为UTF-8(无 BOM)再试
换行符匹配必须按实际文档格式写
\n 在 Notepad++ 正则模式里不是换行符,而是字面量 n;\r\n 和 \n 也不能混用——它严格依赖文件本身的换行类型。
- Windows 文档:查
\r\n,替为空格或空字符串即可合并行 - Unix/macOS 文档:查
\n,但需先用「视图 → 显示符号」确认只出现 ¶(LF),没有 ↵(CR) - 推荐统一写法:
\R(Notepad++ 7.9+),自动适配\r\n、\n、\r - 注意空行:连续
\r\n\r\n替换为单个\r\n再处理,否则会生成一堆空格
捕获组 + 反向引用是格式转换的核心
重命名、提取、结构调整几乎都靠 () 捕获 + \1 引用,而不是硬编码替换内容。大小写控制符(如 \U)比手动敲大写字母更可靠。
- 下划线转驼峰:
_([a-z])→\U\1,可把user_name变成userName - 提取花括号内容:
#\{([^}]+)\}→#$1#,比.*?更安全,避免跨多个} - 匹配整行并保留部分:
^const (\w+) =.*$→export \1;,适合批量导出函数名 - 注意:捕获组嵌套时编号按左括号顺序,
((a)(b))中\1是整体,\2是 a,\3是 b
多文件批量替换容易误改整个目录
在「查找 → 在文件中替换」里,路径填 * 或 ./ 会递归扫描子目录,Notepad++ 不二次确认,改完直接写磁盘——删错日志或改坏配置就来不及了。
- 安全做法:先在「查找 → 在文件中查找」预览匹配结果,确认范围再点「在文件中替换」
- 路径尽量写死:
D:\project\src\*.js比D:\project\*更可控 - 文件编码不一致时(如 ANSI + UTF-8 混存),部分文件可能漏匹配;建议先统一编码再操作
- 宏录制可回放,但不能跨文件保存;复杂流程建议先小范围验证,再扩到全目录











