【发布时间】:2011-05-13 03:23:26
【问题描述】:
我想通过使用正则表达式来检测 String 是否为小数。我的问题更多是关于如何使用正则表达式机制,而不是检测 String 是小数。我使用GWT提供的RegExp类。
String regexDecimal = "\\d+(?:\\.\\d+)?";
RegExp regex = RegExp.compile(regexDecimal);
String[] decimals = { "one", "+2", "-2", ".4", "-.4", ".5", "2.5" };
for (int i = 0; i < decimals.length; i++) {
System.out.println(decimals[i] + " "
+ decimals[i].matches(regexDecimal) + " "
+ regex.test(decimals[i]) + " "
+ regex.exec(decimals[i]));
}
输出:
one false false null
+2 false true 2
-2 false true 2
.4 false true 4
-.4 false true 4
.5 false true 5
2.5 true true 2.5
我期待String.matches() 和RegExp.test() 两种方法返回相同的结果。
- 那么两者有什么区别 两种方法?
- 如何使用
RegExp.test()获得相同的行为?
【问题讨论】:
-
两个答案都很好并且解决了我的问题,所以现在我应该接受哪一个,因为它们基本上是相同的答案?
标签: java javascript regex gwt