Java 实现提取富文本中包含特定字符串的图片 src 属性值

news2024/11/26 3:30:17

请添加图片描述

👨🏻‍💻 热爱摄影的程序员
👨🏻‍🎨 喜欢编码的设计师
🧕🏻 擅长设计的剪辑师
🧑🏻‍🏫 一位高冷无情的编码爱好者
大家好,我是 DevOps 工程师
欢迎分享 / 收藏 / 赞 / 在看!

【需求】给定一段富文本字符,使用 Java 实现提取出其中图片 src 属性值中包含 http://tmp 的字符,返回字符数组。
【解决】
使用正则表达式,匹配 http://tmp 字符。正则表达式 <img[^>]+src=\"(http://tmp[^\"]+)\"[^>]*> 用于匹配包含 http://tmpimg 标签,并提取其中的 src 属性值。
如果对正则表达式不熟悉,也可以使用字符串处理方法来实现类似的功能,例如使用 indexOfsubstring 等方法。

public static List<String> extractImageSrc(String htmlString) {
        List<String> imageSrcList = new ArrayList<>();
        String pattern = "<img[^>]+src=\"(http://tmp[^\"]+)\"[^>]*>";
        Pattern imgTagPattern = Pattern.compile(pattern);
        Matcher matcher = imgTagPattern.matcher(htmlString);

        while (matcher.find()) {
            String src = matcher.group(1);
            imageSrcList.add(src);
        }

        return imageSrcList;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/794395.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

数据库触发器简介——修改数据的触发器、删除数据的触发器

1.修改数据的触发器 修改数据的触发器 create trigger tb_user_update_triggerafter update on tb_user for each row begininsert int user_logs(id,operation,operate_time,operate_id,operate_params)VALUES(null,update,now(),new.id,concat(更新之前的数据&#xff1a;i…

2023年的深度学习入门指南(20) - LLaMA 2模型解析

2023年的深度学习入门指南(20) - LLaMA 2模型解析 上一节我们把LLaMA 2的生成过程以及封装的过程的代码简单介绍了下。还差LLaMA 2的模型部分没有介绍。这一节我们就来介绍下LLaMA 2的模型部分。 这一部分需要一些深度神经网络的基础知识&#xff0c;不懂的话不用着急&#xf…

工厂方法模式——多态工厂的实现

1、简介 1.1、概述 在工厂方法模式中&#xff0c;不再提供一个统一的工厂类来创建所有的产品对象&#xff0c;而是针对不同的产品提供不同的工厂&#xff0c;系统提供一个与产品等级结构对应的工厂等级结构。 1.2、定义 工厂方法模式&#xff08;Factory Method Pattern&am…

与 ChatGPT 进行有效交互的几种策略

在这篇文章中&#xff0c;您将了解即时工程。尤其&#xff0c; 如何在提示中提供对响应影响最大的信息什么是角色、正面和负面提示、零样本提示等如何迭代使用提示来利用 ChatGPT 的对话性质 废话不多说直接开始吧&#xff01;&#xff01;&#xff01; 提示原则 快速工程是有…

跃焱邵隼网站demo

xdm 网站的代码开源了。 今年迷上摄影和剪辑了&#xff0c;所以很少投入到网站的维护。 然后经过群友的一些反馈&#xff0c;所以决定 将网站上demo开源放出来了。 后面有机会再出一些好玩的东西。 哦 对了 3d 编辑器我已经融入地图了 年底搞一些好玩的东西出来。 可以关注…

常用的镜像命令

docker images 列出本地主机上的镜像 各个选项说明: REPOSITORY&#xff1a;表示镜像的仓库源 TAG&#xff1a;镜像的标签版本号 IMAGE ID&#xff1a;镜像ID CREATED&#xff1a;镜像创建时间 SIZE&#xff1a;镜像大小 同一仓库源可以有多个 TAG版本&#xff0c;代表这个仓…

EtherNet/IP转 Modbus网关实现AB PLC控制变频器案例

捷米特JM-EIP-RTU网关 Modbus转ETHERNET/IP用于将多个变频器连接到Ethernet/Ip主网&#xff0c;以便森兰变频器可以由AB PLC控制。 配备专用于JM-EIP-RTU网关的EDS文件&#xff0c;AB PLC主站可以控制森兰逆变器从站。 使用 AB 系统的配置方法 1&#xff0c; 运行 RSLogix 500…

复习之linux存储的基本管理

一、实验环境的设定 1. 实验环境的搭建 本节内容只需要一台虚拟机 westosa reset重置虚拟机&#xff0c;保证实验环境的纯净配置网络实现ssh连接 重置虚拟机后&#xff0c;配置网络&#xff0c;设定ip&#xff1a;172.25.254.100&#xff0c;保证与主机可以通信 实现ssh连接…

代码随想录day13 | 226.翻转二叉树 101.对称二叉树

文章目录 一、翻转二叉树二、对称二叉树 一、翻转二叉树 使用前、后序反转最为方便。 // 使用递归三部曲 class Solution { public:TreeNode *dfs(TreeNode *root){// 前序反转if (root nullptr)return root;swap(root->left, root->right);dfs(root->left);dfs(ro…

三子棋(超详解+完整码源)

三子棋 前言一&#xff0c;游戏规则二&#xff0c;所需文件三&#xff0c;创建菜单四&#xff0c;游戏核心内容实现1.棋盘初始化1.棋盘展示3.玩家下棋4.电脑下棋5.游戏胜负判断6.game&#xff08;&#xff09;函数内部具体实现 四&#xff0c;游戏运行实操 前言 C语言实现三子棋…

TEE GP(Global Platform)认证规范

TEE之GP(Global Platform)认证汇总 一、GP认证规范库 二、TEE GP认证规范文档 如果需要TEE对应的GP认证规范文档&#xff0c;请按照下方选择框选择TEE&#xff0c;然后Search&#xff0c;共查询到31个相关规范文档。 参考&#xff1a; GlobalPlatform Certification - Global…

利用python实现自增填充和脚本批量解压文件

和学弟整理学校档案 因为这个方法只用了一下午就干完了 净赚&#xffe5;300 写文章记录一下 需求分析 我要储存很多个文件(几万个文件) 而且要按照文件的顺序进行排序的编号 目的是解放一下双手只用简单的ctrl cv实现命名的自增 如果没有库的话就pip install 库名 import t…

第一启富金:美联储决议及讲话来袭、黄金不改趋势性看涨前景

第一启富金基本面分析&#xff1a; 中国纸黄金交易通显示&#xff0c;全球最大黄金上市交易基金(ETF)截至07月22日持仓量为919.00吨&#xff0c;较上日增持5.20吨&#xff0c;本月止净减持2.90吨。 周二美国公布的7月消费者信心指数为117&#xff0c;远高于预期的111.8&#xf…

Docker Compose介绍及部署

Docker Compose介绍及部署 一、Docker Compose介绍&#xff1a;1、Compose简介2. YAML 文件格式及编写注意事项3. YAML数据结构 二、Docker Compose部署1、 Docker Compose 环境安装2.、Docker Compose配置常用字段3、Docker Compose 常用命令4、Docker Compose 文件结构编写配…

第五章:通过对抗擦除的目标区域挖掘:一种简单的语义分割方法

0.摘要 我们研究了一种逐步挖掘具有鉴别性的物体区域的原则方法&#xff0c;使用分类网络来解决弱监督语义分割问题。分类网络只对感兴趣对象中的小而稀疏的鉴别性区域有响应&#xff0c;这与分割任务的要求相背离&#xff0c;分割任务需要定位密集、内部和完整的区域以进行像素…

C#——多线程之Task

C#——多线程之Task 前言一、Task是什么&#xff1f;二、各应用场景以及实例分析1.异步执行代码2.等待异步操作完成3.并行执行多个任务4.处理异常5.取消异步操作 三、一些其他问题1.WhenAll与WhenAny的区别 总结 前言 在代码编写过程中&#xff0c;经常会用到多线程的知识&…

Vue如何配置eslint

eslint官网: eslint.bootcss.com eslicate如何配置 1、选择新的配置&#xff1a; 2、选择三个必选项 3、再选择Css预处理器 4、之后选择处理器 5、选择是提交的时候就进行保存模式 6、放到独立的配置文件上去 7、最后一句是将自己的数据存为预设 8、配合console不要出现的规则…

每天一道C语言编程(2^k进制数)

题目描述 设r是个2^k 进制数&#xff0c;并满足以下条件&#xff1a; &#xff08;1&#xff09;r至少是个2位的2^k 进制数。 &#xff08;2&#xff09;作为2^k 进制数&#xff0c;除最后一位外&#xff0c;r的每一位严格小于它右边相邻的那一位。 &#xff08;3&#xff09;…

NoSQL之 Redis 部署,配置与优化

文章目录 NoSQL之 Redis配置与优化一.关系数据库与非关系型数据库1.关系型数据库2.非关系型数据库3.关系型数据库和非关系型数据库区别4.非关系型数据库产生背景 二.Redis简介1.了解Redis2.Redis 具有以下几个优点3.Redis为何这么快 三.Redis 安装及应用1.Redis 安装部署2.Redi…

linux网卡命名规则与修改方法

一.前言&#xff1a; 在早期的的操作系统中例如fedora13或者ubuntu15之前网卡命名的方式为eth0&#xff0c;eth1&#xff0c;eth2&#xff0c;属于biosdevname 命名规范。当然这是针对intel网卡的命名规则&#xff0c;对于realtek类型的网卡会命名为ens33。但是这个编号往往不一…