在路上

 找回密码
 立即注册
在路上 站点首页 学习 查看内容

Java基于正则表达式获取指定HTML标签指定属性值的方法

2017-3-7 12:51| 发布者: zhangjf| 查看: 1200| 评论: 0

摘要: 本文实例讲述了Java基于正则表达式获取指定html标签指定属性值的方法。分享给大家供大家参考,具体如下: 有时可能会有这样的需求,从HTML页面获取指定标签的指定属性值,可以通过第三方库解析来获取,但是这样相对 ...

本文实例讲述了Java基于正则表达式获取指定html标签指定属性值的方法。分享给大家供大家参考,具体如下:

有时可能会有这样的需求,从HTML页面获取指定标签的指定属性值,可以通过第三方库解析来获取,但是这样相对比较麻烦!

如果使用正则表达式,那么就变得简单了。代码如下:

  1. package com.mmq.regex;
  2. import java.util.ArrayList;
  3. import java.util.List;
  4. import java.util.regex.Matcher;
  5. import java.util.regex.Pattern;
  6. /**
  7. * @use 获取指定HTML标签的指定属性的值
  8. * @ProjectName stuff
  9. * @Author mikan
  10. * @FullName com.mmq.regex.MatchHtmlElementAttrValue.java
  11. * @JDK 1.6.0
  12. * @Version 1.0
  13. */
  14. public class MatchHtmlElementAttrValue {
  15. /**
  16. * 获取指定HTML标签的指定属性的值
  17. * @param source 要匹配的源文本
  18. * @param element 标签名称
  19. * @param attr 标签的属性名称
  20. * @return 属性值列表
  21. */
  22. public static List<String> match(String source, String element, String attr) {
  23. List<String> result = new ArrayList<String>();
  24. String reg = "<" + element + "[^<>]*?\s" + attr + "=['"]?(.*?)['"]?(\s.*?)?>";
  25. Matcher m = Pattern.compile(reg).matcher(source);
  26. while (m.find()) {
  27. String r = m.group(1);
  28. result.add(r);
  29. }
  30. return result;
  31. }
  32. public static void main(String[] args) {
  33. String source = "<a title=中国体育报 href=''>aaa</a><a title='北京日报' href=''>bbb</a>";
  34. List<String> list = match(source, "a", "title");
  35. System.out.println(list);
  36. }
  37. }
复制代码

PS:这里再为大家提供2款非常方便的正则表达式工具供大家参考使用:

JavaScript正则表达式在线测试工具:
http://tools.jb51.net/regex/javascript

正则表达式在线生成工具:
http://tools.jb51.net/regex/create_reg

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

最新评论

小黑屋|在路上 ( 蜀ICP备15035742号-1 

;

GMT+8, 2025-5-4 02:29

Copyright 2015-2025 djqfx

返回顶部