【发布时间】:2014-05-30 09:40:29
【问题描述】:
在 Java 应用程序中,我需要检查给定的字符串是否
- 仅包含数字 0-9 和
- 正好是五位数
我的第一次尝试是这样的:
public static void main(String[] args) {
String testString = "000000";
String myPattern = "\\d{5}";
Pattern validCharacterPattern = Pattern.compile(myPattern);
Matcher matcher = validCharacterPattern.matcher(testString);
boolean b = matcher.find();
if (b) System.out.println("Valid");
else System.out.println("Invalid");
}
但是,上面的表达式也适用于例如123456。我需要改变什么?
【问题讨论】:
-
"但是上面的表达式也适用于例如
123456" 似乎不正确。"123456".matches("\\d{5}")将false返回给我。 -
我为 123456 测试了上面的表达式,只是为了确定。这不是真的。这个问题是错误的,这个页面上的每个答案都是错误的。
-
@Robert 如果您能阅读每个人都在说的内容并发布编辑或删除问题,那就太好了(并且会阻止您的问题被关闭)。
-
有趣的是,您当前版本的问题的答案是以前的版本:)
-
当人们发布与实际导致问题的代码不同的代码问题时,我真的很烦。 “在我没有发布的代码中告诉我我做错了什么。”