gpt4 book ai didi

java - 匹配 Java 正则表达式中的空格

转载 作者:行者123 更新时间:2023-12-04 05:07:27 27 4
gpt4 key购买 nike

我正在用 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-44444444444444 ,但当我输入 444 444 4444 时返回错误答案.我已经查看了几个关于堆栈溢出的类似问题,但我仍然没有找到适合我的问题的修复程序。有人可以告诉我我错过了什么吗?

    最佳答案

    图案不错:http://ideone.com/Y4Hlph

    问题是 Scanner#next() 返回 whitespace-delimited tokens by default,因为您没有另外指定分隔符。

    A Scanner breaks its input into tokens using a delimiter pattern, which by default matches whitespace.



    使用 Scanner#nextLine() 如果您想逐行获取输入。
    http://ideone.com/O3Hu0Z

    关于java - 匹配 Java 正则表达式中的空格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15344353/

    27 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com