【发布时间】:2018-05-25 12:11:59
【问题描述】:
我想编写一个正则表达式来匹配所有正双精度数,小数点后最多为 2 位。
我的第一个方法是这样的:
^\\d+(?:\\.\\d{1,2})?$
它适用于大多数情况,但不适用于科学记数法,例如 10000000 当它写成 1.0E7 时。
我找到了答案 here,并根据我的情况对其进行了调整:
[\\s=]+([+]?(?:0|[1-9]\\d*)(?:\\.\\d*)?(?:[eE][+\\-]?\\d{1,2}))$
但现在对于很多“好”值它返回 false。
知道如何让它只匹配小数点后 0 到 2 位的正数值,而且还匹配数字的科学记数法吗?
【问题讨论】:
标签: regex numbers scientific-notation