程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> 關於JAVA >> Java基於正則表達式獲取指定HTML標簽指定屬性值的辦法

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

編輯:關於JAVA

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

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved