如何使用正则表达式精准删除 JSON 中指定起止标记之间的内容
发布时间 - 2026-01-05 00:00:00 点击率:次本文介绍一种安全、高效的正则表达式方案,用于从 json 字符串中删除以 `"externallinks"` 开头、到紧邻的 `"maxpop"`(不含)为止的全部内容,适用于结构化文本的轻量级清洗场景。
在处理嵌套 JSON 字符串(尤其是作为纯文本而非解析后对象操作时),有时需基于字符串模式进行局部清理——例如移除某个子字段块,同时保留其前后结构完整。本例目标明确:删除从 "externalLinks" 字段定义开始,直到下一个同级 "maxPop" 字段开头之前的所有内容(含 "externalLinks" 对象及其全部键值对,但不包含 "maxPop" 本身)。
关键在于构造一个非贪婪、跨行、支持空白与换行的匹配模式。推荐正则表达式如下:
"externalLinks"[\\s\\S]+?(?="maxPop")
- "externalLinks":精确匹配字段名及双引号,确保定位准确;
- [\\s\\S]:匹配任意字符(包括换行符 \n、空格、制表符等),替代 . 在默认模式下无法匹配换行的问题;
- +?:非贪婪量词,确保匹配到第一个出现的 "maxPop" 即停止,避免过度捕获(尤其当 JSON 中存在多处 "maxPop" 时);
- (?="maxPop"):正向先行断言,要求匹配结尾紧邻 "maxPop",但不消费该字符串,从而保证 "maxPop" 被保留在结果中。
在 Java 中使用示例:
String cleanedJson = originalJson.replaceAll("\"externalLinks\"[\\s\\S]+?(?=\"maxPop\")", "");⚠️ 注意事项:
- 此方案适用于未格式化或简单
缩进的 JSON 字符串;若 JSON 含深层嵌套且 "maxPop" 出现在 "externalLinks" 内部(如嵌套对象中),该正则可能误截断——此时应优先考虑用 JSON 解析器(如 Jackson 或 Gson)进行结构化操作,而非正则; - 确保输入字符串编码为 UTF-8,避免双引号或特殊字符导致匹配失败;
- 实际生产环境建议添加边界校验(如前后是否为合法 JSON 结构),并配合单元测试覆盖缩进变化、空格差异等边缘情况。
总结:该正则简洁可靠,兼顾可读性与实用性,是文本层 JSON 局部清理的高效工具。但请始终牢记——正则不是 JSON 解析器;复杂结构变更仍应交由专用库完成。
# java
# js
# json
# 正则表达式
# 编码
# 工具
# 键值对
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
微博html5版本怎么弄发语音微博_语音录制入口及时长限制操作【教程】
如何快速搭建自助建站会员专属系统?
简单实现jsp分页
网站建设保证美观性,需要考虑的几点问题!
制作ppt免费网站有哪些,有哪些比较好的ppt模板下载网站?
小米17系列还有一款新机?主打6.9英寸大直屏和旗舰级影像
Laravel Seeder怎么填充数据_Laravel数据库填充器的使用方法与技巧
如何获取免费开源的自助建站系统源码?
Laravel Admin后台管理框架推荐_Laravel快速开发后台工具
如何用AWS免费套餐快速搭建高效网站?
如何在IIS7上新建站点并设置安全权限?
如何为不同团队 ID 动态生成多个非值班状态按钮
最好的网站制作公司,网购哪个网站口碑最好,推荐几个?谢谢?
如何在建站宝盒中设置产品搜索功能?
php后缀怎么变mp4格式错误_修改扩展名提示格式不对怎么办【技巧】
通义万相免费版怎么用_通义万相免费版使用方法详细指南【教程】
Laravel如何发送系统通知_Laravel Notifications实现多渠道消息通知
laravel怎么用DB facade执行原生SQL查询_laravel DB facade原生SQL执行方法
如何在景安服务器上快速搭建个人网站?
Laravel事件和监听器如何实现_Laravel Events & Listeners解耦应用的实战教程
韩国网站服务器搭建指南:VPS选购、域名解析与DNS配置推荐
Laravel怎么在Controller之外的地方验证数据
Laravel如何实现用户角色和权限系统_Laravel角色权限管理机制
香港网站服务器数量如何影响SEO优化效果?
制作网站软件推荐手机版,如何制作属于自己的手机网站app应用?
重庆市网站制作公司,重庆招聘网站哪个好?
武汉网站设计制作公司,武汉有哪些比较大的同城网站或论坛,就是里面都是武汉人的?
Windows驱动无法加载错误解决方法_驱动签名验证失败处理步骤
打开php文件提示内存不足_怎么调整php内存限制【解决方案】
Laravel如何实现数据导出到CSV文件_Laravel原生流式输出大数据量CSV【方案】
深圳网站制作平台,深圳市做网站好的公司有哪些?
Windows11怎样设置电源计划_Windows11电源计划调整攻略【指南】
如何在万网自助建站中设置域名及备案?
安克发布新款氮化镓充电宝:体积缩小 30%,支持 200W 输出
如何快速搭建虚拟主机网站?新手必看指南
谷歌浏览器下载文件时中断怎么办 Google Chrome下载管理修复
Laravel如何升级到最新的版本_Laravel版本升级流程与兼容性处理
网站建设整体流程解析,建站其实很容易!
微信小程序 scroll-view组件实现列表页实例代码
Laravel与Inertia.js怎么结合_使用Laravel和Inertia构建现代单页应用
微信小程序制作网站有哪些,微信小程序需要做网站吗?
Bootstrap整体框架之CSS12栅格系统
怎么用AI帮你设计一套个性化的手机App图标?
android nfc常用标签读取总结
车管所网站制作流程,交警当场开简易程序处罚决定书,在交警网站查询不到怎么办?
Laravel怎么集成Vue.js_Laravel Mix配置Vue开发环境
Laravel distinct去重查询_Laravel Eloquent去重方法
如何在建站主机中优化服务器配置?
制作旅游网站html,怎样注册旅游网站?
Laravel集合Collection怎么用_Laravel集合常用函数详解


缩进的 JSON 字符串;若 JSON 含深层嵌套且 "maxPop" 出现在 "externalLinks" 内部(如嵌套对象中),该正则可能误截断——此时应优先考虑用 JSON 解析器(如 Jackson 或 Gson)进行结构化操作,而非正则;