我正在用 Java 创建一个电话应用程序,并且需要能够验证电话号码是否符合以下格式之一:
444 444 4444
444-444-4444
4444444444
为了完成这个任务,我写了这个:
public static void main(String[] args){
Scanner sc = new Scanner(System.in);
String str = sc.next();
System.out.print(str.matches("\\d{3}([-. ])?\\d{3}([-. ])?\\d{4}"));
}
出于某种原因,String 方法matches()
非常适用于444-444-4444
and 4444444444
,但是当我输入 时返回不正确的答案444 444 4444
。我已经查看了几个关于堆栈溢出的类似问题,但我仍然没有找到适合我的问题的修复程序。有人可以告诉我我错过了什么吗?