我正在尝试查找以下链接的正则表达式http://anythingbutrbitrary.blogspot.in/search?updated-max=2014-02-10T11:58:00-08:00&max-results=1
。
我的正则表达式代码http://anythingbutrbitrary.blogspot.in/search?updated-max=\\d{4}-\\d{2}-d{2}T\\d{2 }:\\d{2}:\\d{2}-\\d{2}-\\d{2}&max-results=\\d{1}
返回 false。正则表达式有什么问题?我的java代码如下:
String regex= "http://anythingbutrbitrary.blogspot.in/search?updated-max=\\d{4}-\\d{2}-d{2}T\\d{2}:\\d{2}:\\d{2}-\\d{2}-\\d{2}&max-results=\\d{1}";
Pattern p=Pattern.compile(Pattern.quote(regex));
Matcher m = p.matcher("http://anythingbutrbitrary.blogspot.in/search?updated-max=2014-02-10T11:58:00-08:00&max-results=1");
System.out.println(m.lookingAt());
请帮忙。 谢谢
最佳答案
您的正则表达式中有几个错误。
- 您正在调用
Pattern.quote
这将使您的正则表达式成为文字。 - 点和
?
等元字符需要转义为\\.
和\\?
编辑:查看您的正则表达式后,我发现这也是错误的。使用这个正则表达式:
String regex="http://anythingbutrbitrary\\.blogspot\\.in/search\\?updated-max=\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}-\\d{2}:\\d{2}&max-results=\\d";
关于java正则表达式匹配器错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23625085/