【问题标题】:pattern for matching a string匹配字符串的模式
【发布时间】:2014-03-13 14:32:13
【问题描述】:

我正在尝试创建一个 java.util.regex.Pattern 来匹配类似于以下内容的字符串:

Unexpected ID 'foo_<some_number>': ERR-125:"IDs": invalid id

所以我认为模式应该是这样的:

Pattern.compile("Unexpected ID 'foo_*': ERR-125:\"IDs\": invalid id");

但这没有用。 谁能告诉我为什么它不起作用?我应该怎么做?

谢谢

【问题讨论】:

    标签: java regex pattern-matching


    【解决方案1】:

    您的Pattern 中的问题是您在下划线上使用了0 或更多(贪婪)量词。

    试试这个:

    String input = "Unexpected ID 'foo_1': ERR-125:\"IDs\": invalid id";
    //                                                   | any digit
    //                                                   |  | once or more (greedy)
    System.out.println(input.matches("Unexpected ID 'foo_\\d+': ERR-125:\"IDs\": invalid id"));
    

    输出

    true
    

    【讨论】:

      【解决方案2】:

      星号使用错误,用\d试试。

      对不起,你已经完成了……好吧。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2018-10-04
        • 1970-01-01
        • 2011-09-08
        • 2016-01-08
        • 1970-01-01
        • 1970-01-01
        • 2013-07-11
        相关资源
        最近更新 更多