Java基于正則表達式獲取指定HTML標簽指定屬性值的方法
本文實例講述了Java基于正則表達式獲取指定HTML標簽指定屬性值的方法。分享給大家供大家參考,具體如下:
有時可能會有這樣的需求,從HTML頁面獲取指定標簽的指定屬性值,可以通過第三方庫解析來獲取,但是這樣相對比較麻煩!
如果使用正則表達式,那么就變得簡單了。代碼如下:
package com.mmq.regex; import java.util.ArrayList; import java.util.List; import java.util.regex.Matcher; import java.util.regex.Pattern; /** * @use 獲取指定HTML標簽的指定屬性的值 * @ProjectName stuff * @Author mikan * @FullName com.mmq.regex.MatchHtmlElementAttrValue.java * @JDK 1.6.0 * @Version 1.0 */ public class MatchHtmlElementAttrValue { /** * 獲取指定HTML標簽的指定屬性的值 * @param source 要匹配的源文本 * @param element 標簽名稱 * @param attr 標簽的屬性名稱 * @return 屬性值列表 */ public static List<String> match(String source, String element, String attr) { List<String> result = new ArrayList<String>(); String reg = "<" + element + "[^<>]*?\\s" + attr + "=['\"]?(.*?)['\"]?(\\s.*?)?>"; Matcher m = Pattern.compile(reg).matcher(source); while (m.find()) { String r = m.group(1); result.add(r); } return result; } public static void main(String[] args) { String source = "<a title=中國體育報 href=''>aaa</a><a title='北京日報' href=''>bbb</a>"; List<String> list = match(source, "a", "title"); System.out.println(list); } }
PS:這里再為大家提供2款非常方便的正則表達式工具供大家參考使用:
JavaScript正則表達式在線測試工具:
http://tools.jb51.net/regex/javascript
正則表達式在線生成工具:
http://tools.jb51.net/regex/create_reg
希望本文所述對大家java程序設計有所幫助。
相關文章
如何讓Jackson JSON生成的數(shù)據(jù)包含的中文以unicode方式編碼
這篇文章主要介紹了如何讓Jackson JSON生成的數(shù)據(jù)包含的中文以unicode方式編碼。需要的朋友可以過來參考下,希望對大家有所幫助2013-12-12詳解Java多態(tài)對象的類型轉換與動態(tài)綁定
這篇文章主要介紹了詳解Java多態(tài)對象的類型轉換與動態(tài)綁定,是Java入門學習中的基礎知識,需要的朋友可以參考下2015-09-09Java橋梁設計模式優(yōu)雅地將抽象與實現(xiàn)分離
Java橋接設計模式通過將抽象和實現(xiàn)分離,使得它們可以獨立地變化,從而實現(xiàn)更靈活的代碼結構。它是一種優(yōu)雅的設計模式,適用于需要處理多個變化因素的復雜應用程序2023-04-04