我尝试创建一个匹配类似于以下字符串的java.util.regex.Pattern
:
Unexpected ID 'foo_<some_number>': ERR-125:"IDs": invalid id
所以我认为模式应该是这样的:
Pattern.compile("Unexpected ID 'foo_*': ERR-125:\"IDs\": invalid id");
但那并没有奏效。 谁能告诉我它为什么不起作用?我该怎么做呢?
由于
答案 0 :(得分:4)
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
答案 1 :(得分:0)
Asterisk使用错误,请尝试使用\ d。
抱歉,您已经完成了......好吧。