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

在上一篇文章中写到导出图片到EXCEL表格中,因为我保存的是图片路径,所以需要获取img标签下src属性的属性值,刚开始只存了一个图片,所以我想着用substring来截取,但是效果并不好,如果是获取多张图片则存在弊端,此时就想到用正则来获取,以下代码可放到工具类中直接调用即可。

package com.mmq.regex;

import java.util.ArrayList;
import java.util.List;
import java.util.regex.Matcher;
import java.util.regex.Pattern;

/**

  • @use 获取指定HTML标签的指定属性的值

  • @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 match(String source, String element, String attr) {
      List result = new ArrayList();
      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 = "<p>111111111</p>
     <p><img src="/djManage/upload/image/20180827/20180827142038_480.jpg" alt="" width="300" height="200" title="" align="" /> </p>";
     List<String> list = match(source, "img", "src");
     System.out.println(list);
    

    }
    }

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值