我正在尝试构建一个站点地图并解析没有href
的{{1}}的html正文(因为那些带有哈希的只是某些内容页面htmls中的子章节链接)。
我的正则表达式:#
我想我应该使用<a\\s[^>]*href\\s*=\\s*\"([^\"]*)\"[^>]*>(.*?)</a>
或[^#]
从!#
中排除#
,但只能通过尝试和谷歌搜索来解决它。在此先感谢帮助我!
答案 0 :(得分:1)
完成它。只需在#
块中插入[^\"]
。 :d
<a\\s[^>]*href\\s*=\\s*\"([^\"#]*)\"[^>]*>(.*?)</a>
答案 1 :(得分:1)
您不应该使用正则表达式来解析HTML。
最好使用HTML解析器,例如http://jsoup.org然后
Document doc = Jsoup.parse(input);
Elements links = doc.select("a[href]");
for (Element each: links) {
if (each.attr("href").startsWith("#")) continue;
...
}
比使用正则表达式更加无痛,呃!