sublime中精准提取独立数字需用\b\d+\b匹配整数,find all后按ctrl+d(win/linux)或cmd+d(mac)多选再复制,避免误抓粘连数字;带单位数字用\d+(?=[a-za-z%]|\s|$)等前瞻断言确保精度。

想只复制每行里的数字,别用 Ctrl+A 全选
直接全选再删文字留数字,容易误删中间数字(比如 user_id: 123 里的 123 被留下,但 line 456 error 里的 456 也跟着混进来了)。真正要的不是“删文字”,而是“精准捞出数字”。
- 先按
Ctrl + F(Windows/Linux)或Cmd + F(macOS),点右上角.*启用正则模式 - 输入
\b\d+\b:匹配独立整数(\b确保不粘连字母,避免把abc123def里的123错抓) - 如果数字带小数点(如
3.14),改用\b\d+(?:\.\d+)?\b - 点击
Find All—— 此时只高亮所有独立数字,不碰其他字符
怎么把高亮的数字批量复制出来?别手动拖选
Find All 后光标停在每个数字开头,但没选中;直接 Ctrl + C 只会复制第一个。必须扩展成可复制的选中状态。
- 立刻按
Ctrl + D(Windows/Linux)或Cmd + D(macOS):把所有高亮数字逐个加入多选(比Alt + F3更稳,尤其当数字前后有空格/标点时) - 确认所有目标数字都被虚线框包围(Sublime 的多选视觉反馈)
- 按
Ctrl + C一次性复制全部选中的数字 —— 它们会以换行分隔,粘贴后就是纯数字列表 - 如果数字间需要逗号分隔,复制后在新文件里用
Ctrl + H替换\n为,
遇到带单位的数字(如 100ms、2.5GB)怎么处理?
\b\d+\b 会漏掉这类,因为 ms 和数字紧连,破坏了单词边界。得放宽匹配逻辑,但又不能泛化到抓出 abc123def。
- 用
\d+(?=[a-zA-Z%]|\s|$):匹配后面紧跟字母、百分号、空白或行尾的数字(如100ms中的100,2.5GB中的2.5) - 若单位固定(如只提
KB/MB),可写成\d+(?:\.\d+)?(?=KB|MB|GB) - 注意:这种模式可能匹配
123KB和123 KB两种格式,但不会匹配abc123 - 测试时先
Find All预览,确认没抓错再复制
复制后数字顺序乱了?那是 Find All 没按原文顺序
Sublime 的 Find All 默认按从上到下顺序高亮,但多选后复制出来的数字顺序和原文一致。如果发现顺序错乱,大概率是用了 Alt + F3 或中途触发了其他多选操作干扰了焦点。
- 务必在
Find All后**不移动光标、不点击任意位置**,直接按Ctrl + D扩展选择 - 如果已乱序,用
Ctrl + Z撤回,重来一遍 - 大文本里数字超百个时,Sublime 可能卡顿——先用
Ctrl + Shift + F(Find in Files)限定范围,再进单文件操作
id=123 抓出 123,但 version_2.3.4 也抓出 2、3、4 三个碎片。\b 和 (?=...) 这两个边界控制,绕不开。











