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順序設計有所協助。