可以匹配具有任意小数位数的非零浮点数的最短正则表达式是什么?
它应该接受像这样的数字
-1
-5.9652
-7.00002
-0.8
-0.0500
-0.58000
0.01
0.000005
0.9900
5
7.5
7.005
但拒绝诸如
.
.02
-.
-.996
0
-0
0.
-0.
-0.000
0.00
--
..
+
+0
+1
+.
+1.26
,etc
我不需要科学记数法的支持,例如 e 、 E 等。
顺便说一下,我使用的语言是 C#。
^-?(0\.\d*[1-9]|[1-9]\d*(\.\d+)?)$
EDIT更新以反映新要求(最后一位小数可以为零)
^-?(0\.\d*[1-9]\d*|[1-9]\d*(\.\d+)?)$
(比使用前瞻更短:^-?(0\.(?=[1-9])\d*|[1-9]\d*(\.\d+)?)$
.)
EDIT2如果例如001.000
可以通过
^-?(?=.*[1-9])\d+(\.\d+)?$
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)