我有一个页面源,我想获得所有锚标记的锚文本
有人可以帮助我解决它的模式。
先谢谢
答案 0 :(得分:2)
karim79是正确的,正则表达式可能是错误的方式,但无论如何这里是一个简单的方法可以用Java完成。请注意,如果锚点在href之前具有aditional属性,则此操作无效。但是,这可能是一个良好的开端,也可以帮助您了解如何做到这一点。
String html = "<body>" +
"<a href=\"#first\">got to first</a>" +
"<span>something else</span>" +
"<a href=\"#second\">got to second</a>" +
"</body>";
Pattern pattern = Pattern.compile("<a href=\"#(\\w+)\">([\\w\\s]+)</a>");
Matcher matcher = pattern.matcher(html);
while(matcher.find()){
System.out.println(matcher.group(2));
}
答案 1 :(得分:0)
试试这个正则表达式模式,应该给你你想要的东西:
(?<=<\s*a[^>]*>)(?<anchorContent>[\s\S]*?)(?=<\s*/a>)
这将为您提供一个名为“anchorContent”的组
希望有所帮助。