You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Sublime Text 3正则表达式分组失效:如何保留数字前两位小数?

解决Sublime Text正则保留两位小数的问题

你的问题不是Sublime Text的设置问题,是正则写法不对导致的。你写的\.[0-9]{2}([0-9]*),会把从.到,的整个片段(比如.0977452,)都匹配上,分组只是里面的多余数字,但替换时如果直接用这个正则,肯定会替换整个匹配内容,而不是只替换分组部分。

给你两种可行的解决方案:

方案一:捕获保留部分

  • 打开替换面板(Windows/Linux按Ctrl+H,Mac按Cmd+H),点击左下角的.*按钮开启正则模式
  • 查找内容:(\.\d{2})\d+,
  • 替换内容:\1,

这个正则里,(\.\d{2})会捕获小数点加前两位小数,后面的\d+,是要删除的多余数字和逗号,替换时保留捕获的\1再加上逗号,就能实现只留前两位小数。

方案二:用正向断言匹配要删除的部分

  • 同样打开替换面板并开启正则模式
  • 查找内容:(?<=\.\d{2})\d+,
  • 替换内容:,

这个写法更简洁,(?<=\.\d{2})是正向预查,确保前面已经有小数点加两位小数,后面的\d+,就是要删掉的多余数字和逗号,直接替换成逗号即可。

测试你给的示例数字,用任意一种方案都能得到:57.09, 56.11, 55.16, 54.22, 53.30,

内容的提问来源于stack exchange,提问作者guidout

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.24 19:12:40