本文實例講述了Java基于正則表達式獲取指定HTML標簽指定屬性值的方法。分享給大家供大家參考,具體如下:
有時可能會有這樣的需求,從HTML頁面獲取指定標簽的指定屬性值,可以通過第三方庫解析來獲取,但是這樣相對比較麻煩!
如果使用正則表達式,那么就變得簡單了。代碼如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
|
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 id="codetool">
希望本文所述對大家java程序設計有所幫助。 延伸 · 閱讀
精彩推薦
|