Java基於正則表達式獲取指定HTML標簽指定屬性值的辦法。本站提示廣大學習愛好者:(Java基於正則表達式獲取指定HTML標簽指定屬性值的辦法)文章只能為提供參考,不一定能成為您想要的結果。以下是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順序設計有所協助。