JSoup 1.22.1发布:Java HTML解析新特性详解

jsoup 1.22.1 版本现已正式推出。本次更新引入了对 re2j 正则表达式引擎的支持,该功能专用于正则驱动的 CSS 选择器。此外,还加入了可自定义的最大解析深度设置,并包含多项缺陷修复与性能优化。
功能亮点
- 新增对
re2j正则引擎的支持。此项改进主要针对基于正则的 CSS 选择器语法,例如[attr~=regex]和:matches(regex),能够显著提升处理用户输入的正则表达式时的安全性。启用方式为将com.google.re2j依赖添加至项目路径,例如:
若项目路径中已存在该依赖但希望回退至 Java 原生正则引擎,可通过 System.setProperty(“jsoup.useRe2j”, “false”) 显式禁用。调用 Regex.usingRe2j() 方法可验证 re2j 是否已成功激活。#2407
- 新增实例方法
Parser#unescape(String, boolean),该方法利用当前解析器的配置执行 HTML 实体解码,例如支持错误定位。这是对已有的静态工具方法Parser.unescapeEntities(String, boolean)的实用补充实现。#2396 - HTML 与 XML 解析器均支持配置最大解析嵌套深度,以限制栈中活跃元素的数量。HTML 解析器的深度上限默认设置为 512,此举旨在对齐主流浏览器行为并防范栈溢出风险。XML 解析器默认不限制深度,但可通过
Parser.setMaxDepth()手动设定上限。#2421 - 构建流程升级:CI 环境新增对 JDK 25 的兼容性测试覆盖。#2403
- 构建流程升级:在原有完整的 HTML/XML 模糊测试基础上,新增针对上下文片段解析的模糊测试模块,此功能由 oss-fuzz 项目提供支持,编号为 #14041。
API 调整
- 启动了 jsoup 1.24.1 版本中废弃 API 的移除路线图,相关接口将在后续版本中逐步淘汰。
问题修复
- 修复了
Node#replaceWith(Node)方法中未及时清除被替换节点缓存的子元素的问题,避免了后续调用Element#children()返回异常结果。#2391 - 属性选择器值现在严格按字面量比对且不再自动修剪首尾空白。此前版本会对选择器值与元素属性值同时清理空格,此行为偏离了 CSS 规范及浏览器实际表现(如
[attr=” foo “]匹配失败)。目前已完全对齐标准。#2380 - 在使用 JDK 内置的 HttpClient 时,系统级代理设置曾遭忽略。现已修正:当请求未显式指定代理时,会自动采用系统默认代理设置。#2388,#2390
- 在处理严重损坏的 HTML 输入时,“adoption agency” 算法可能抛出
ValidationException。现统一改为记录为解析警告,不断续处理流程。#2393 - 修复了 HTML 正文内的空字(U+0000)符移除逻辑不一致的问题;外部引入内容中的空字符亦未能正确转义。#2395
- 解析恶意构造的正文片段时偶发
IndexOutOfBoundsException。现捕获并将问题降级为解析错误日志,确保程序稳定性。#2397,#2406 - ……
内部调整
- 将内部辅助类
org.jsoup.internal.Functions标记为已弃用,计划于 v1.23.1 版本中彻底移除。#2412
完整更新日志请参阅:https://www.php.cn/link/adb7dc747bdd4a368293f7fd6721d6df
源码获取地址:点击下载
游乐网为非赢利性网站,所展示的游戏/软件/文章内容均来自于互联网或第三方用户上传分享,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系youleyoucom@outlook.com。
同类文章
海信激光电视X1 PRO发布100英寸巨幕影院体验34999元起
海信发布激光电视探索X1PRO,提供100英寸和120英寸版本,首发价分别为34999元和49999元,享受补贴后价格更低。产品主打客厅影院体验,采用院线同源技术实现高色域与稳定亮度,配备6 1 2声道分布式声场及定制低音炮。设计采用隐翼悬浮云台与鎏金棕腰线,适配多种家居风格。硬件搭载MT9649芯片、4GB内存与128GB存储,支持4K60Hz输入。
2026年磁吸充电宝选购指南:新国标下如何兼顾安全与轻薄
随着旅行需求增长,电量焦虑成为常见问题。选购旅行充电宝应以新国标安全认证为基础,根据出行时长、目的地和设备数量选择。超薄款适合城市短途,大容量款满足长途需求,三防款专为户外设计。需避免容量越大越好等误区,并确保产品符合航空安检规定,优先选择有安全认证的品牌。
Swissbit推出N7000嵌入式固态硬盘搭载自封闪存与自研主控固件
欧洲工业存储制造商Swissbit推出面向嵌入式应用的N7000系列固态硬盘。该系列采用自封NAND闪存及自研PCIeGen4主控与固件,提供M 2两种规格,并分为标准版与追求高耐用性的pSLC模式版本。产品涵盖不同温度范围与容量,适用于严苛工业环境。
现货黄金价格突破4560美元关口最新行情分析
现货黄金价格今日突破每盎司4560美元,日内涨幅为0 36%。市场分析认为,地缘政治紧张局势持续及市场对美联储降息预期增强,共同推动了金价上涨。投资者正密切关注后续经济数据与政策动向。
韩国股市大涨三星电子SK海力士股价飙升原因分析
隔夜美股走强及劳资纠纷出现转机,推动韩国股市大幅上涨。韩国综合指数盘中拉升超6%,三星电子涨近7%,SK海力士涨超8%。三星电子工会因签署暂定薪资协议推迟罢工,协议拟拨出约11 5%运营利润用于员工奖金,最终结果待工会成员投票决定。
- 日榜
- 周榜
- 月榜
1
2
3
4
5
6
7
8
9
10
相关攻略
2015-03-10 11:25
2015-03-10 11:05
2021-08-04 13:30
2015-03-10 11:22
2015-03-10 12:39
2022-05-16 18:57
2025-05-23 13:43
2025-05-23 14:01
热门教程
- 游戏攻略
- 安卓教程
- 苹果教程
- 电脑教程
热门话题

