为什么返回false?
"$10+".matches("^\\\\${0,1}[1-9,\\\\.]{0,}[\\\\+kK]{0,}")
我使用eclipse调试器,因此这是使用
\\\\
而不是\\
的原因第一个符号与
^\\\\${0,1}
相匹配数字或逗号或点匹配到
[1-9,\\\\.]{0,}
最后一个符号+或k或K应该匹配
[\\\\+kK]{0,}
但是返回false。为什么?
最佳答案
集合中没有零,可能应该是:
"$10+".matches("^\\${0,1}[0-9,\\.]{0,}[\\+kK]{0,}"
或(如果您想一开始使用非零值):
"$10+".matches("^\\${0,1}[1-9\\.][0-9,\\.]{0,}[\\+kK]{0,}"
另外,不需要在字符组中转义+,无需确定“。”的含义是否相同。 。