请求提供匹配整数或.0结尾小数的正则表达式
匹配整数或仅以.0结尾的小数的正则表达式
基础正则(允许前导零)
如果你的场景允许前导零(比如035、00.0这类数值也可匹配),可以使用这个正则:
^\d+(\.0)?$
正则拆解:
^:锚定字符串起始位置,确保匹配从开头开始\d+:匹配1个或多个数字,对应数值的整数部分(\.0)?:可选的小数部分,\.匹配实际的小数点,0匹配唯一的小数位,?表示这部分可不存在(对应纯整数)或仅出现一次$:锚定字符串结束位置,确保后面没有多余字符
严格正则(禁止前导零)
如果需要排除前导零的情况(比如不允许035,仅认可0、35这类合法整数),用这个正则:
^[1-9]\d*(\.0)?$|^0(\.0)?$
正则拆解:
这个正则由两个分支通过|连接:
^[1-9]\d*(\.0)?$:匹配非零开头的整数(如35)或带.0的小数(如35.0)[1-9]:确保整数部分以非零数字开头\d*:后面可跟任意数量的数字(包括0个,即单个非零数字)
^0(\.0)?$:单独匹配0或者0.0这两种特殊情况
测试示例
- 符合匹配条件的:
- 纯整数:
35、0、1234 - 带
.0的小数:35.0、0.0、1234.0
- 纯整数:
- 不符合匹配条件的:
- 非.0结尾的小数:
35.7、35.989 - 不完整的数值:
.0、35. - 带前导零的非零整数(仅严格正则会排除):
035
- 非.0结尾的小数:
内容的提问来源于stack exchange,提问作者Racheli
相关产品推荐
相关产品推荐

