notepad++中查特殊符号必须切换到正则表达式模式并正确转义:字面点号用\.、星号用\*、问号用\?,中文标点需utf-8编码,不可见字符用扩展模式(如\r\n)或正则十六进制(如\x{200b})。

Notepad++ 通配符模式下不能直接用 * ? 匹配特殊符号
通配符(Wildcard)模式不是正则表达式,它只支持 * 和 ? 两种符号,且仅用于模糊匹配文件名或简单文本片段。它**完全不识别**.、[、(、+ 等任何正则元字符,也不支持转义。想查特殊符号,必须切到「正则表达式」模式——这是最常被忽略的前提。
常见错误现象:在通配符模式下输入 \. 或 [,结果什么也搜不到,或者误匹配大量无关内容。
- 通配符模式下
*表示“任意数量任意字符”,?表示“单个任意字符”,仅此而已 - 所有标点、括号、斜杠等,都得当普通字符输——但前提是它们本身不是通配符(比如
*和?在该模式下已“被占用”) - 若真要查字面的
*或?,通配符模式做不到;必须换正则模式,用\*或\?
查字面点号、星号、问号等必须转义
在「正则表达式」模式下,.、*、?、+、^、$、(、)、[、]、{、}、|、\ 都是元字符,不加反斜杠就按功能解释,不是字面意思。
比如搜配置文件里的 max_connections=100,如果写 max_connections=*,实际会匹配 max_connections= 后跟任意多任意字符(包括换行),不是你想要的“星号字面量”。
- 查字面句点:
\.(不是.) - 查字面星号:
\*(不是*) - 查字面问号:
\?(不是?) - 查字面左括号:
\(;右括号:\) - 查字面方括号:
\[和\](注意:在字符组[...]内,]放末位可不转义,[必须放首位或转义)
中文标点和全角符号能直接输入,但编码必须是 UTF-8
顿号、、省略号……、破折号——、书名号《》 这类 Unicode 字符,在正则模式下可直接复制粘贴进「查找目标」框,无需转义——但前提是文件已以 UTF-8(无 BOM)打开。右下角状态栏显示不是 UTF-8?匹配大概率失败或乱码。
常见错误现象:明明粘贴了中文顿号,却搜不到;或者搜到了,但替换后变成乱码方块。
- 先确认编码:菜单栏「编码 → 转为 UTF-8 无 BOM」,再试搜索
- 省略号务必复制原文中的两个连续
…(U+2026),别手打三个英文点 - 想批量替换中文标点为英文标点,可用字符组:
[,。!?;:“”‘’()【】《》]→ 替换为对应半角符号 - 全角 ASCII 标点(如
,、。)集中在 Unicode\x{ff01}-\x{ff5e}区间,Notepad++ 8.6+ 支持该写法
不可见字符(换行、制表、零宽空格)要用扩展模式或十六进制
肉眼看不见的字符,靠“猜”或“复制粘贴”极不可靠。Notepad++ 提供两种稳定方式:
一是启用「扩展(\n, \r, \t, \0, \x…)」模式(非正则),然后直接输入 \r\n 查 Windows 换行,\t 查制表符;二是用正则 + 十六进制模式查 Unicode 控制符,如零宽空格 \x{200B}。
- 查换行符:勾选「扩展」模式,输入
\r\n(Windows)或\n(Unix) - 查制表符:同样在「扩展」模式下输入
\t - 查零宽空格
\u200B:必须用正则模式 +\x{200B}(不是\u200B),且文件编码为 UTF-8、勾选「匹配全部字符」 - 查全角空格(
,U+3000):正则中写\x{3000},或直接复制该字符粘贴进查找框 - 合并多个空白(含空格、Tab、换行)为单个空格:正则模式下用
[ \t\r\n]+→ 替换为一个半角空格
真正难的不是写对正则,而是每次操作前确认三件事:当前是「正则表达式」模式、文件编码是 UTF-8(无 BOM)、不可见字符是否已开启「显示所有字符」(Ctrl+Shift+8)。漏掉任一,结果就不可信。











