在上一篇文章中写到导出图片到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);
}
}