You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用正则精准提取含指定Zip值的花括号包裹内容(忽略换行)

精准提取包含指定Zip值的JSON块解决方案

嘿,我懂你的痛点——之前的正则会把所有{...}块都捞出来,没法精准定位到包含目标Zip值的那个。其实只需要在正则里加上对特定Zip值的匹配条件,就能解决这个问题。

改进后的正则表达式

(?s)\{[^{}]*"zip":"22222"[^{}]*\}

正则解释

  • (?s):启用单行模式,让.能匹配换行符(如果你的JSON块有换行也能正常处理)
  • \{:匹配目标块的起始左大括号
  • [^{}]*:匹配任意非大括号的字符,确保不会跨块匹配到其他JSON对象
  • "zip":"22222":精准锁定你要找的Zip值,这是核心的匹配条件
  • [^{}]*:继续匹配到右大括号前的所有内容
  • \}:匹配目标块的结束右大括号

测试效果

用你提供的示例内容:

{ "zip":"11111", "total":1 }, { "zip":"22222", "total":2 }, { "zip":"33333", "total":3 }

这个正则只会捕获到:

{ "zip":"22222", "total":2 }

额外提示

如果你的Zip值是动态的(比如从变量获取),只需要把正则里的22222替换成对应的变量即可,注意如果是在代码里使用,要正确转义引号。

另外,如果你的JSON结构更复杂(比如嵌套大括号),正则可能会失效,这时候更推荐用专门的JSON解析库(比如Python的json模块、JavaScript的JSON.parse)来处理:把整个内容转换成数组或对象,再通过Zip值筛选目标项,这样更可靠。

内容的提问来源于stack exchange,提问作者user1523153

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.07 20:07:55