不能直接用\d+全局替换为空,否则会误删变量名、年份、IP等关键数字;应按场景选择正则:删纯数字行用^\d+$,删行首编号用^\d+\s+,删中文数字需限定上下文如第\d+章,操作前务必Find All验证。

不能直接用 \d+ 全局替换为空——它会把变量名、年份、版本号、IP 地址里的数字全干掉,比如 user2024 变成 user,192.168.1.1 变成 . . .。
删纯数字行(整行只有数字)
适用于清理日志编号、纯序号列表、临时生成的数字 ID 行等场景。这类行不夹杂其他字符,删起来最安全。
- 查找:
^\d+$——^和$锚定整行,\d+确保至少一个数字 - 替换:留空
- 务必先点
Find All看高亮是否全是目标行,避免误删带数字的配置项(如timeout=30)
删行首连续数字(如编号 1.、123\t)
这是最常被误操作的场景。重点不是“删数字”,而是“删行首 + 数字 + 后续分隔符”这个结构。
- 推荐查找:
^\d+\s+—— 匹配行首数字后紧跟空格或 Tab,通用性强 - 若只处理 Markdown 风格编号(如
1.、10.),用^\d+\.\s* - 别漏掉
^:否则line 42 content会被改成line content - 删完缩进错乱?说明原文件混用了 Tab 和空格——先执行
Convert Indentation to Spaces再操作
删所有数字但保留关键上下文(如 URL、路径、变量)
没有万能解法。正则无法理解语义,只能靠排除模式“绕开”敏感位置。
- 粗略保护:用负向先行断言避开常见结构,例如
(? 可匹配独立数字(前后非字母/数字/下划线),但对 <code>api/v2/users里的2仍无效 - 更稳的做法是分步:
Ctrl+F搜\d+→Ctrl+Enter全部选中 →Ctrl+Shift+L转为多光标 → 手动跳过 URL、路径、函数参数中的数字再删 - 别依赖
\b\d+\b:Sublime 的单词边界\b在/、.、-处行为不稳定,尤其在路径或版本号中(如v1.2.3)
删中文里的数字(如“第1章”“价格¥299”)
中文文本混排数字时,单独删数字容易破坏语义,建议结合汉字范围限定。
- 查找:
第\d+章|¥\d+|\d+元—— 针对固定格式,精准可控 - 若需泛化匹配“汉字+数字+汉字”结构,可用
[\u4e00-\u9fa5]\d+[\u4e00-\u9fa5],但注意这会漏掉“第1章”这种无后字的情况 - 切忌用
[\u4e00-\u9fa5\d]+:它会把整个“第1章标题内容2024”当一个单元匹配,删掉后只剩空白
真正难的从来不是写对正则,而是判断哪些数字该留、哪些能删——Sublime 不会读你心里想的业务规则,它只忠实地执行你写的表达式。每次删前按 Find All 看一眼匹配结果,比写十遍 \d+ 都管用。

















