我在用 ruby 构建浮点数时遇到问题。
该数字可以是负数也可以是正数。
可以是这样的:0.00000020402(如果数字小于 1,则小数点前必须有 1 个零。)
0.5 是正确的方法,但不是 0.5
这是唯一的规则,否则,其他任何规则都可以,如下所示:
-0.4224(负)或-0.00002(负)或5.2525
那么有人可以帮助我了解涵盖这些浮点数情况的正则表达式是什么吗?
这是我到目前为止所拥有的:^[+-]?(?:(?!0)\d{1,2}|0)(?:.[05])?$
如果你只想匹配浮点数,你可以这样做:
^[+-]?([1-9]\d*|0)(\.\d+)?$
Run Code Online (Sandbox Code Playgroud)

例子:
0.5 火柴.5 不匹配00.5 不匹配123.0 火柴+1123 火柴-0.4 火柴0. 不匹配-.4 不匹配+0.54 火柴编辑:如果您想将其排除-0为匹配项,请使用以下命令:
^(?!-0$)[+-]?([1-9]\d*|0)(\.\d+)?$
Run Code Online (Sandbox Code Playgroud)
