2

我见过很多匹配浮点数的正则表达式。但我仍然无法找到完美的解决方案来解决我的问题。

到目前为止,我已经想出了这个:

^[-+]?\d*?(?<=\d)([,.](?>\d*)([eE][-+]?\d+)?)?$

它匹配所有可能的浮点数,除了以 . 开头的浮点数。像 .4

这是 链接

4

2 回答 2

1

好吧,你可以很容易地把一个大OR算子。

^(?:[-+]?\d*?(?<=\d)([,.](?>\d*)([eE][-+]?\d+)?)?|\.\d+)$
于 2013-09-05T06:52:26.123 回答
0

我遇到了同样的问题,我采用以下正则表达式来定义许多不同样式的数字:

(:?-?(?:(?:\d+\.?\d*)|(?:\.\d+))(?:[Ee][+-]?\d+)?)

请参阅带有测试和一些解释的旧帖子。

于 2013-09-05T08:16:03.780 回答