我正在尝试使用 Jsoup HTML Parser 从网站获取缩略图 URL 我需要提取所有以 60x60.jpg(或 png)结尾的 URL(所有缩略图 URL 都以此 URL 结尾)
问题是我让它在一个普通的 Java 项目中工作,但在 Android 中它不起作用。(正则表达式问题)
此代码适用于 Java 项目:
List<String> urls = new ArrayList<String>();
Document doc = Jsoup.connect("http://example.com").get();
Elements pngs = doc.select("img[src~=(60x60).(png|jpg)]");
for (Element img : pngs) {
String url = img.absUrl("src");
{
if (!urls.contains(url)) {
urls.add(url);
}
}
}
然后打印 urls 数组..它在 Java 中工作,而不是在 Android 项目中。
在 Android 中唯一有效的正则表达式只有这个
Elements pngs = doc.select("img[src$=.jpg]");
它在 Android 上运行良好.. 虽然我不需要所有以 .jpg 结尾的链接
我尝试使用
Elements pngs = doc.select("img[src~=(60x60)\\.(png|jpg)]");
仍然不好,即使在 .(png|jpg) 之前有一个斜线
那么正则表达式的问题是什么?它在Android中的工作方式不同还是什么?它不可能是解析器问题,因为它适用于普通的 Java 项目..