用\d+替换为空字符串可安全删除连续数字,但需先确认无版本号、时间戳、ip等关键数字;\d+匹配数字块,\d则逐个匹配易破坏格式;全角数字需用[0-9]或[0-9\uff10-\uff19]覆盖。

直接用 \d+ 替换为空字符串,就能安全删掉所有连续数字;但别无脑上手,先确认文本里有没有版本号、时间戳、IP 或带数字的标识符(比如 v2.3.0、item123),否则一删就毁数据。
为什么不用 \d 而要用 \d+
单个 \d 会把每个数字字符单独匹配一次,比如 abc123def 变成 abcdef(中间空格被吃掉);而 \d+ 匹配连续数字块,abc123def → abcdef,更干净。如果数字间夹着标点或字母(如 item1, item2),\d+ 也不会跨段乱吞——它只吃“连在一起的数字”。
- 打开替换面板:
Ctrl+H(Win/Linux)或Cmd+H(macOS) - 勾选右下角
.*启用正则模式 - 查找框填
\d+,替换框留空 - 先点
Find All看高亮是否全是你要删的数字,再点Replace All
中文/全角数字怎么一起删
\d 默认只认 ASCII 数字 0–9,对中文全角数字(如「123」)、阿拉伯文数字完全无效。真遇到混排场景:
- 先手动检查:按
Ctrl+F搜[0-9],如果没高亮但肉眼可见数字,大概率是全角 - 稳妥做法:先跑一遍
[0-9](全角 0–9 的 Unicode 字符),再跑\d+ - 或者合并写成
[0-9\uff10-\uff19],覆盖半角+全角数字(\uff10是全角 0,\uff19是全角 9) - 别迷信
\p{Nd}——Sublime 默认不支持 PCRE,开了也白开
删完格式错乱?缩进和空行可能被连带破坏
数字常嵌在缩进、分隔符或行尾位置,删完容易暴露隐藏问题:
- 如果删的是行首序号(如
1. abc),优先用^\d+\s+,避免误伤行中数字 - 删完发现某几行突然顶到最左,说明原文件混用了 Tab 和空格——先执行
Convert Indentation to Spaces(菜单 → Indentation → Convert Indentation to Spaces)再删 - 删掉
// TODO: fix 123后,行首只剩空白,看着像空行:后续补一步Ctrl+Shift+P→Trim Whitespace - 想保留数字间的分隔符(如
item1, item2→item, item),就别用\d+,改用\d+(?=,)这类前瞻断言(但得确认 Sublime 的 Pythonre引擎支持,简单场景不如手动选中后删)
真正容易被忽略的不是正则怎么写,而是删之前没扫一眼上下文——比如 url = "https://api.com/v2.3.0" 里的 2.3.0 是版本号,不是普通数字;192.168.1.1 是 IP,删掉一个点就变 19216811。先 Find All,再快速滚动抽检三处,比删完重来快十倍。











