用逗号表示双值的正则表达式

时间:2015-04-02 19:24:06

标签: java regex

我有正则表达式以验证double值。这不接受逗号。有人可以帮我吗?

^[-+]?[0-9]+[.]?[0-9]*([eE][-+]?[0-9]+)?$

新的正则表达式应该接受这些值 1000
1000个
1000000.01
1,000,000.00
1.4E-45
3.4028235E38

1 个答案:

答案 0 :(得分:4)

^[-+]?[0-9]+(,[0-9]{3})*(\.[0-9]+)?([eE][-+]?[0-9]+)?

这是一个简单的修复 - 只需添加0个或更多可选逗号块,后跟3个数字。

我还在您的可选小数后更改了块,以确保小数后跟至少一个数字。 (所以你不匹配52。)