^(?:[1-9][0-9]*(?:\.[0-9]+)?|0\.[0-9]+)$
包含0.0 不包含0
^[1-9][0-9]*(?:\.[0-9]+)?|0\.[0-9]+$
包含0和0.0
^(?:[1-9][0-9]*(?:\.[0-9]+)?|0(?:\.[0-9]+)?)$
不包含0和0.0
([1-9]\d*\.?\d*)|(0\.\d*[1-9])
[1-9] :匹配1~9的数字;
\d :匹配数字,包括0~9;
* :紧跟在 \d 之后,表明可以匹配零个及多个数字;
\. :匹配小数点;
? :紧跟在 \. 之后,表明可以匹配零个或一个小数点;
0 :匹配一个数字0;
)
其中的 [1-9]\d*\.?\d* 用以匹配诸如:1、23、34.0、56.78 之类的非负的整数和浮点数;
其中的 0\.\d*[1-9] 用以匹配诸如:0.1、0.23、0.405 之类的非负浮点数;
本文详细解析了正则表达式如何精确匹配非负整数和浮点数,覆盖了从简单到复杂的匹配模式。
1353

被折叠的 条评论
为什么被折叠?



