Java正则表达式:不带哈希的href
我正在尝试构建一个站点地图,并解析Java正则表达式:不带哈希的href,java,html,regex,href,Java,Html,Regex,Href,我正在尝试构建一个站点地图,并解析hrefs的html正文,这些html正文没有#(因为那些带有哈希的只是一些内容页面htmls中的子章节链接) 我的regexp现在: 我想我应该使用[^#]或#将#从href中排除,但无法通过尝试和谷歌搜索来解决问题。提前谢谢你帮了我的忙 完成了。刚刚在[^\“]块中插入了。:D <a\\s[^>]*href\\s*=\\s*\"([^\"#]*)\"[^>]*>(.*?)</a> 您不应该使用正则表达式来解析HTML 最
href
s的html正文,这些html正文没有#
(因为那些带有哈希的只是一些内容页面htmls中的子章节链接)
我的regexp现在:
我想我应该使用
[^#]
或#
将#
从href
中排除,但无法通过尝试和谷歌搜索来解决问题。提前谢谢你帮了我的忙 完成了。刚刚在[^\“]
块中插入了
。:D
<a\\s[^>]*href\\s*=\\s*\"([^\"#]*)\"[^>]*>(.*?)</a>
您不应该使用正则表达式来解析HTML 最好使用HTML解析器,例如
Document doc = Jsoup.parse(input);
Elements links = doc.select("a[href]");
for (Element each: links) {
if (each.attr("href").startsWith("#")) continue;
...
}
比使用正则表达式要轻松得多,嗯!如果你正在努力,但它不起作用,那就再试试吧。:)