【发布时间】:2013-08-23 13:49:25
【问题描述】:
("^\d{1,15}(\.\d{1,2})?$")
这是我正在尝试使用的正则表达式,但 java 给出了语法错误。
^(?!(?:0|0\.0|0\.00)$)[+]?\d+(\.\d|\.\d[0-9])?$
这对于 00.00、124.03、0.13 等数字很有效,但不适用于 0.0 和 0。
请修改正则表达式,使其接受以下类型的数字:
123456.00,
12415366.88,
0.23,
0,
0.00,
0.0,
432547,
即仅包含零和小数点后 2 位的正数
【问题讨论】:
-
This 问题的可能重复项,除非您必须对 0 进行一些修改。
-
第一个示例中的编译错误可以通过将
\d中的反斜杠正确转义为\\d来修复。第二个正则表达式明确排除了0、0.0和0.00。在此处提出问题之前,您应该尝试理解您的代码。 -
为什么需要使用正则表达式?试试这样的stackoverflow.com/questions/50532/…