【问题标题】:Retrieve numbers separated by '-'检索由“-”分隔的数字
【发布时间】:2010-11-19 21:28:45
【问题描述】:

假设我有大量(随机)文本。在此文本中有一个电话号码,由三位数字、一个破折号、另外三位数字、一个破折号和四位数字组成。例如,XXX-XXX-XXXX。从文本中检索此数字的正则表达式是什么。我尝试使用:

Matcher matcher = pattern.matcher(previousText);
Pattern pattern2 = Pattern.compile(".*(\\d\\d\\d-\\d\\d\\d-\\d\\d\\d\\d).*")
Matcher matcher2 = pattern2.matcher(currentText);

现在,我虽然它会工作,但它没有。请帮忙。

【问题讨论】:

    标签: java regex pattern-matching


    【解决方案1】:

    正则表达式:\d{3}-\d{3}-\d{4}

    【讨论】:

    • @instanceofTom 我无法提供更多细节。我只知道正则表达式,不知道 Java :)。
    • 你有 '//' 而不是 '\\'
    • 抱歉,输入和回车键太快了。也许在范围界定方面有点混乱,但可能 izb 是正确的,您的示例使用了错误的斜杠。
    【解决方案2】:
    Pattern pattern = Pattern.compile(".*(\\d{3}-\\d{3}-\\d{4}).*");
    Matcher matcher = pattern.matcher(text);
    if (matcher.find()) {
        String number = matcher.group(1);
        System.out.println(number);
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-01-25
      • 1970-01-01
      • 1970-01-01
      • 2013-02-24
      • 2021-05-19
      • 2020-09-19
      • 1970-01-01
      相关资源
      最近更新 更多