使用正则表达式验证大于1的小数
我想验证一个带有三个可选整数和四个小数点后强制数字的数字是否大于 1。例如:
0.0000 [No]
0.9999 [No]
1.0000 [No]
1.0009 [Yes]
01.0000 [No]
01.0009 [Yes]
001.0000 [No]
011.0000 [Yes]
222.0000 [Yes]
000.9999 [No]
我已经创建了这个正则表达式:
(?!^1*$)(?!^1*.0*$)^(?:[1-9]|ddd)(?:.d{4,4})$
但它并不适用于所有情况
回答
您可以使用此正则表达式允许最多 3 位之前.和 4 位之后.匹配大于1仅的值:
^(?!0*1.0+$)(?=0*[1-9])d{1,3}.d{4}$
正则表达式演示
正则表达式详情:
^: 开始(?!0*1.0+$): 正前瞻条件断言我们没有可选零后跟的情况1.0000(?=0*[1-9]):正前瞻条件断言我们至少有一个非零数字d{1,3}: 匹配 1 到 3 位数字.: 匹配一个.d{4}: 匹配 4 位数字$: 结尾