正则表达式获取多个img src的值
2024-10-09 08:26:50
/**
* 得到网页中图片的地址
*/
public static Set<String> getImgStr(String htmlStr) {
Set<String> pics = new HashSet<>();
String img = "";
Pattern p_image;
Matcher m_image;
String regEx_img = "<img.*src\\s*=\\s*(.*?)[^>]*?>";
p_image = Pattern.compile
(regEx_img, Pattern.CASE_INSENSITIVE);
m_image = p_image.matcher(htmlStr);
while (m_image.find()) {
// 得到<img />数据
img = m_image.group();
// 匹配<img>中的src数据
Matcher m = Pattern.compile("src\\s*=\\s*\"?(.*?)(\"|>|\\s+)").matcher(img);
while (m.find()) {
String tempImgPath=m.group(1);
pics.add(tempImgPath);
}
}
return pics;
}
/**
*修改入库的图片地址为正式地址
*/
public static String repairContent(String content){
String patternStr="<img\\s*([^>]*)\\s*src=\\\"(.*?)\\\"\\s*([^>]*)>";
Pattern pattern = Pattern.compile(patternStr,Pattern.CASE_INSENSITIVE);
Matcher matcher = pattern.matcher(content);
String result = content;
while(matcher.find()) {
String src = matcher.group(2);
String replaceSrc = "download";
result = result.replaceAll("fileupload-temp",replaceSrc);
}
return result;
}
最新文章
- [leetcode] 题型整理之字符串处理
- 关于js中闭包的理解
- 统计:P值 &; α值
- LRU Cache的实现
- NLog使用总结
- bzoj2004
- 关于ActionBar的向下兼容
- NSLineBreakMode
- 用纯CSS实现的箭头
- Java并发框架——AQS阻塞队列管理(一)——自旋锁
- 用beego开发服务端应用
- 看书记笔记 书名21天学C#
- Visual Studio学习记录
- matlab将矩阵数据归一化到[0,255]
- 函数和常用模块【day06】:subprocess模块(十)
- Nginx + Tomcat搭建集群
- 3. Python3 基本数据类型
- J​A​V​A​中​S​t​r​i​n​g​对​象​的​比​较
- docker常用命令(二)
- BZOJ3444 最后的晚餐(并查集)