2012-12-07 43 views
0

我試圖構建一個網站地圖並解析HTML體href s沒有#(因爲那些哈希值只是某些內容頁面htmls中的子章節鏈接)。Java正則表達式:href without hash

我現在正則表達式:<a\\s[^>]*href\\s*=\\s*\"([^\"]*)\"[^>]*>(.*?)</a> 我想我應該用[^#]!#排除#href秒,但無法只是想和後谷歌搜索解決它。預先感謝幫助我!

回答

1

幹過。剛剛在[^\"]區塊中插入#也是如此。 :d

<a\\s[^>]*href\\s*=\\s*\"([^\"#]*)\"[^>]*>(.*?)</a> 
+0

,如果你已經上了軌道,並試圖,但它不會工作,只是嘗試多一些。 :) – obeliksz

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; 
    ... 
} 

 

因此比使用正則表達式,EH更痛苦!