欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Java基于正則表達式獲取指定HTML標簽指定屬性值的方法

 更新時間:2017年01月10日 08:37:14   作者:MikanMu  
這篇文章主要介紹了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程序設計有所幫助。

相關文章

最新評論