本文將演示如何使用Java正則表達式從HTML文本中提取特定網址。 我們將以一個示例說明如何高效地完成這項任務。
問題: 從HTML文本中提取所有以”www.”開頭,并以”.com”或”.cn”結尾的網址。
示例HTML(包含網址):
Java代碼及正則表達式:
立即學習“Java免費學習筆記(深入)”;
我們使用正則表達式www.w+(.com|.cn) 來匹配網址。 w+ 匹配一個或多個字母數字字符,. 匹配點號(需要轉義),( ) 用于分組匹配”.com”或”.cn”。
String html = "<a>www.baidu.com</a><a>www.qq.com</a><a>www.aaa.cn</a>www.eee.cn"; String reg = "www.w+(.com|.cn)"; // 注意此處需要轉義反斜杠 Pattern pattern = Pattern.compile(reg, Pattern.CASE_INSENSITIVE); Matcher matcher = pattern.matcher(html); while (matcher.find()) { System.out.println(matcher.group()); }
運行結果:
www.baidu.com www.qq.com www.aaa.cn www.eee.cn
代碼說明:
- Pattern.compile(reg, Pattern.CASE_INSENSITIVE):編譯正則表達式,CASE_INSENSITIVE標志使匹配不區分大小寫。
- pattern.matcher(html):創建Matcher對象,用于在HTML文本中查找匹配項。
- matcher.find():查找下一個匹配項。
- matcher.group():返回匹配的子字符串。
重要提示:
對于復雜的HTML結構,使用正則表達式進行解析可能不夠可靠,容易出現錯誤。 對于更復雜的HTML解析,建議使用專業的HTML解析器庫,例如Jsoup,以確保解析的準確性和穩定性。 本例僅用于演示正則表達式的基本用法。
? 版權聲明
文章版權歸作者所有,未經允許請勿轉載。
THE END