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

Python正则表达式匹配与提取特定字符串问题求助

正则表达式解决方案

需求回顾

  • 提取Property后到&前的内容
  • 提取Category后到&前的内容
  • 匹配从"cat"到modifiedBy前最后一个逗号的完整内容

目标字符串:

"cat":"Property : TikTok Videos & Category : Insta Videos & User Impact: TBD & User Minutes :
18","modifiedBy"

问题分析

当前正则的核心问题是对category的匹配逻辑:用\w+只能匹配单个单词,改成\w+.*?后因缺少明确终止符,非贪婪匹配会延伸到字符串末尾。

具体解决正则

1. 同时提取Property和Category

通过明确的终止符&限制非贪婪匹配范围,搭配命名分组实现精准捕获:

"cat":"Property : (?P<property>.*?) & Category : (?P<category>.*?) &
  • 效果:property捕获TikTok Videos,category捕获Insta Videos
  • 原理:.*?是非贪婪匹配,遇到第一个&就停止,刚好截取到目标字段内容

若需单独提取某字段,可使用:

  • 提取Property:Property : (.*?) &
  • 提取Category:Category : (.*?) &

2. 捕获完整的cat字段内容

利用正向预查定位modifiedBy的位置,精准截取目标范围:

("cat":".*?")(?=","modifiedBy")
  • 效果:捕获到"cat":"Property : TikTok Videos & Category : Insta Videos & User Impact: TBD & User Minutes : 18"
  • 原理:(?=","modifiedBy")是正向预查,仅匹配到","modifiedBy之前的位置,避免过度截取

验证结果

所有正则代入目标字符串后,完全符合期望的输出结果。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.07 22:55:06