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

如何编写正则匹配含Pat的键并提取其冒号后对应的字段值

方案1:通用捕获组方案(兼容所有正则引擎)

正则表达式如下:

(?i)"[^"]*Pat\b[^"]*":([^,}]+)

匹配逻辑说明:

  • 保留了你原有(?i)不区分大小写的匹配规则
  • "[^"]*Pat\b[^"]*":完整匹配包含Pat的键名(修正了你原有正则末尾漏写*的问题,确保能匹配完整键字符串)
  • ::匹配键值之间的冒号分隔符
  • ([^,}]+):捕获组1匹配所有非逗号、非右大括号的字符,刚好就是目标键对应的取值,直接提取捕获组1的内容即可得到Complete

方案2:零宽断言直接匹配(支持变长后视的引擎可用,如Python、Java9+、.NET)

如果你的正则引擎支持可变长度后视,可直接匹配到目标值,无需额外提取捕获组:

(?<=(?i)"[^"]*Pat\b[^"]*":)[^,}]+

这个正则执行后直接返回匹配结果Complete。

验证效果

针对你给出的测试文本:

Text = {"key1":value1,"key2":value2,"366-Pat?":Complete}

两种方案均可以准确提取到目标值Complete。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 20:27:01