我有正则表达式以验证double值。这不接受逗号。有人可以帮我吗?
^[-+]?[0-9]+[.]?[0-9]*([eE][-+]?[0-9]+)?$
新的正则表达式应该接受这些值
1000
1000个
1000000.01
1,000,000.00
1.4E-45
3.4028235E38
答案 0 :(得分:4)
^[-+]?[0-9]+(,[0-9]{3})*(\.[0-9]+)?([eE][-+]?[0-9]+)?
这是一个简单的修复 - 只需添加0个或更多可选逗号块,后跟3个数字。
我还在您的可选小数后更改了块,以确保小数后跟至少一个数字。 (所以你不匹配52。)