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

如何用单个正则表达式提取ProjectID与Change Status code无冗余值

正则表达式提取方案

核心思路

要同时捕获projectId和changeStatusCode的值并避免冗余,需让正则按顺序匹配两个目标字段(而非分支选择),确保两个捕获组都能被正确填充(前提是目标字符串中两个字段均存在)。

正确正则表达式

假设目标字符串格式类似...,projectId:14152,...,changeStatusCode:"Started",...,可使用以下正则:

,projectId:(.*?),.*?changeStatusCode:"(.*?)"

关键说明

  • 移除原正则的分支符|,改为按顺序匹配projectId与changeStatusCode,用非贪婪匹配的.*?衔接两个字段,避免匹配到无关内容。
  • 两个捕获组分别对应projectId的值和changeStatusCode的值,提取后直接拼接两组结果即可得到14152Started。

适配字段顺序不确定的场景

若两个字段的出现顺序不固定,可使用包含双分支的正则(需判断非空捕获组进行拼接):

(?:,projectId:(.*?),.*?changeStatusCode:"(.*?)")|(?:,changeStatusCode:"(.*?)",.*?projectId:(.*?))

这种情况下,提取时取非空的两组值拼接即可(比如第一、二组非空,或第三、四组非空)。

测试验证

以目标字符串foo,projectId:14152,bar,changeStatusCode:"Started",baz为例:

  • 使用第一个正则匹配,捕获组1为14152,捕获组2为Started,拼接后即为期望结果。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.18 09:33:10