我见过很多匹配浮点数的正则表达式。但我仍然无法找到完美的解决方案来解决我的问题。
到目前为止,我已经想出了这个:
^[-+]?\d*?(?<=\d)([,.](?>\d*)([eE][-+]?\d+)?)?$
它匹配所有可能的浮点数,除了以 . 开头的浮点数。像 .4
这是 链接。
好吧,你可以很容易地把一个大OR
算子。
^(?:[-+]?\d*?(?<=\d)([,.](?>\d*)([eE][-+]?\d+)?)?|\.\d+)$
我遇到了同样的问题,我采用以下正则表达式来定义许多不同样式的数字:
(:?-?(?:(?:\d+\.?\d*)|(?:\.\d+))(?:[Ee][+-]?\d+)?)
请参阅带有测试和一些解释的旧帖子。