这是我要获取数据的字符串的格式/示例:
<span style='display:block;margin-bottom:3px;'><a style='margin:4px;color:#B82933;font-size:120%' href='/cartelera/pelicula/18312'>Español </a></span><br><span style='display:block;margin-bottom:3px;'><a style='margin:4px;color:#FBEBC4;font-size:120%' href='/cartelera/pelicula/18313'>Subtitulada </a></span><br> </div>
这是我使用的正则表达式:
"pelicula/([0-9]*)'>([\\w\\s]*)</a>"
我在RegexPlanet中测试了这个正则表达式,结果很好,它给了我预期的结果:
group(1) = 18313
group(2) = Subtitulada
但是当我尝试在 Java 中实现该正则表达式时,它不会匹配任何东西。这是代码:
Pattern pattern = Pattern.compile("pelicula/([0-9]*)'>([\\w\\s]*)</a>");
Matcher matcher = pattern.matcher(inputLine);
while(matcher.find()){
version = matcher.group(2);
}
}
有什么问题?如果正则表达式已经过测试,并且在相同的代码中,我会搜索更多模式,但我遇到了两个问题(我在这里只向您展示一个)。先感谢您!
_编辑_ _
我发现了问题......如果我检查页面的源代码,它会显示所有内容,但是当我尝试从 Java 中使用它时,它会获得另一个源代码。为什么?因为这个页面需要你的城市,所以它可以显示关于那个的信息。我不知道是否有解决方法来实际访问我想要的信息,但就是这样。