【发布时间】:2018-01-10 03:28:36
【问题描述】:
我需要一个正则表达式来验证正负双精度。我尝试了以下正则表达式:
^[-+]?\\d+(\\.{0,1}(\\d+?))?$
但它允许前导 0(例如 01 和 00)。如何修改我的正则表达式,使其不允许前导 0?
【问题讨论】:
-
您可以使用:
^[-+]?[1-9]\d*(?:\.?\d+)?$ -
为什么不在 try catch 块中使用 Double.parseDouble(myString) ?
-
你找到的不是谢谢。阿努巴瓦
-
@jeanr
try/catch实际上可能相对昂贵。此外,这对 OP 的目的不起作用,因为像 0001 这样的东西是一个完全有效的双精度,但他想拒绝它。
标签: java regex validation