我正在尝试从HTML中提取链接。我使用以下正则表达式
href=\"([^\"]*)\"
这是提取不必要的链接。如何编写正则表达式以仅提取class =“l”的链接,如
<a href="http://users.elite.net/runner/jennifers/hello.htm" class="l">
<a href="http://www.hellodesign.com/" class="l">
<a href="http://www.ipl.org/div/hello/" class="l">
答案 0 :(得分:2)
使用正则表达式解析HTML不必要地过于复杂。正则表达式是这项工作的错误工具。只需使用像Jsoup这样的普通HTML解析器。它允许您按正常CSS selectors选择HTML元素。
Document document = Jsoup.parse(html);
Elements links = document.select("a.l"); // Select all <a class="l"> elements.
for (Element link : links) {
System.out.println(link.absUrl("href"));
}