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

如何编写正则表达式匹配指定整数和小数位上限的十进制数

正确正则规则及说明

原有正则的问题

你最初写的^[0-9]{7}.[0-9]{9}$存在三个核心错误:

  • [0-9]{7}是精确匹配7位数字,无法匹配不足7位的整数部分,也没有覆盖整数部分为空的场景
  • 未转义的.在正则中匹配任意字符,无法限定仅匹配小数点
  • [0-9]{9}是精确匹配9位小数,无法匹配不足9位的小数部分

适配给出的合法示例的正则

如果你的场景要求所有匹配内容必须带有小数部分,使用如下规则:
^(?:\d{0,7})\.\d{1,9}$

规则解释

  • \d{0,7}:匹配0到7位整数,支持整数部分为空(适配.8这类写法)
  • \.:转义后仅匹配小数点字符
  • \d{1,9}:匹配1到9位小数,满足最多9位的要求
  • ^和$分别匹配字符串开头和结尾,避免内容前后夹杂其他非法字符

支持纯整数场景的扩展正则

如果需要同时支持没有小数部分的纯整数(比如1234567这类值),使用如下规则:
^(?:\d{1,7}(?:\.\d{1,9})?|\.\d{1,9})$

验证结果

你给出的所有合法值都可以被上述规则匹配:

  • 1.8:匹配
  • 1234567.123456789:匹配
  • .8:匹配
  • 0.7:匹配
  • 12.78:匹配

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 02:06:03