3 回答
TA贡献1946条经验 获得超4个赞
使用以下内容:
/^\d*\.?\d*$/
^ -生产线的起点;
\d* -0或更多数字;
\.?-一个可选的点(由于在正则表达式中转义,.是一个特殊字符);
\d* -0或更多数字(小数部分);
$ - 队伍的尽头。
这允许0.5小数而不是要求前导零,例如0.5
TA贡献1812条经验 获得超5个赞
/\d+\.?\d*/
一个或多个数字(\d+),可选的句点(\.?),零个或多个数字(\d*)。
根据您的用法或正则表达式引擎,您可能需要添加开始/结束行锚点:
/^\d+\.?\d*$/
TA贡献1788条经验 获得超4个赞
您需要如下所示的正则表达式才能正确执行此操作:
/^[+-]?((\d+(\.\d*)?)|(\.\d+))$/
使用扩展修饰符(Perl支持)的带空格的相同表达式:
/^ [+-]? ( (\d+ (\.\d*)?) | (\.\d+) ) $/x
或带有注释:
/^ # Beginning of string
[+-]? # Optional plus or minus character
( # Followed by either:
( # Start of first option
\d+ # One or more digits
(\.\d*)? # Optionally followed by: one decimal point and zero or more digits
) # End of first option
| # or
(\.\d+) # One decimal point followed by one or more digits
) # End of grouping of the OR options
$ # End of string (i.e. no extra characters remaining)
/x # Extended modifier (allows whitespace & comments in regular expression)
例如,它将匹配:
123
23.45
34。
.45
-123
-273.15
-42。
-.45
+516
+9.8
+2。
+.5
并将拒绝这些非数字:
。(单小数点)
- (负小数点)
+。(加上小数点)
(空字符串)
比较简单的解决方案可能会错误地拒绝有效数字或匹配这些非数字。
- 3 回答
- 0 关注
- 861 浏览
添加回答
举报