Notepad++中匹配换行符需切换为“正则表达式”模式,Windows文件用 ,Unix文件用 ,推荐新版用R;替换时注意空行处理及文档编码,避免误操作。

Notepad++ 正则怎么匹配换行符
Notepad++ 默认的正则引擎(PCRE)不把
或
当作普通字符直接匹配,尤其在「查找」框里敲
基本没反应——它只认
(Windows 换行),而且必须用「扩展模式(
)」或「正则模式」配合特定写法。
- 想匹配真实换行:切换搜索模式为 “正则表达式”,然后用
(Windows 文件)或(Unix 文件,需确保文档编码是 Unix 换行) - 更稳妥的写法是
R(PCRE 内置元字符,匹配任意换行符,包括、、),但 Notepad++ 7.9+ 才完全支持;老版本建议坚持用 - 别用
\n——那是转义失败的典型表现,实际会去匹配字面量n
把多行合并成一行(去掉换行)
常见于日志拼接、JSON 行压缩、SQL 多行语句转单行等场景。关键是「替换掉换行符,但不能误删其他空白」。
- 查找内容填:
(确保文档是 Windows 换行)或R(新版推荐) - 替换为:
(一个空格)或留空(直接粘连) - ⚠️ 容易踩坑:如果段落间有空行(即连续
),直接替换成空格会导致多个空格连在一起;可先用s*单独处理空行,再替换剩余换行 - 性能影响几乎为零,但若文件超 10MB,建议先备份——大文件上正则替换偶尔会卡住或丢内容
按特定字符拆分一行成多行
比如把逗号分隔的 CSV 伪数据 a,b,c,d 拆成四行,或者把长 SQL 的 AND 后强制换行便于阅读。
- 查找内容:
,(简单分隔)或s+ANDs+(带空格的关键词) - 替换为:
,或AND(注意保留空格) - 关键点:替换内容里必须显式写出
,不能只写,否则 Notepad++ 可能忽略或出错 - 如果原字段含引号内逗号(如
"a,b",c),正则无法安全处理——这不是 Notepad++ 的问题,是 CSV 本身需要解析器,别硬上正则
为什么替换后看起来没变化
最常发生在启用了「显示所有字符」但没关,或者用了错误的搜索模式。
- 检查右下角状态栏:是否写着 “正则表达式”?不是「普通」或「扩展」
- 打开「视图 → 显示符号 → 显示所有字符」,确认换行符确实是
CR LF(即↵和¶连着出现),而不是只有¶(纯) - 替换后光标跳到开头、内容没刷新?按
Ctrl+End看末尾,有时只是视觉延迟;实在不行重启 Notepad++,插件冲突可能导致正则替换静默失败 - UTF-8 with BOM 文件偶尔会让
R失效,临时转成 UTF-8(无 BOM)再试
换行符这种东西,看着简单,实则依赖编辑器底层对行结束符的理解、当前文档的实际编码、以及你选的搜索模式三者咬合。少一个对不上,就白忙活。

















