Maison  >  Article  >  Java  >  Méthode Java pour obtenir la valeur d'attribut spécifiée d'une balise HTML spécifiée basée sur des expressions régulières

Méthode Java pour obtenir la valeur d'attribut spécifiée d'une balise HTML spécifiée basée sur des expressions régulières

高洛峰
高洛峰original
2017-01-22 14:46:161509parcourir

本文实例讲述了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 + "=[&#39;\"]?(.*?)[&#39;\"]?(\\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=&#39;&#39;>aaa</a><a title=&#39;北京日报&#39; href=&#39;&#39;>bbb</a>";
    List<String> list = match(source, "a", "title");
    System.out.println(list);
  }
}

希望本文所述对大家java程序设计有所帮助。

更多Java基于正则表达式获取指定HTML标签指定属性值的方法相关文章请关注PHP中文网!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn