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

如何使用正则表达式提取第二个匹配项后的字符串?

解决正则匹配第二个"website-prod-"后的内容问题

你的问题出在当前正则用了贪婪匹配的.*,它会从第一个website-prod-开始,一直匹配到最后一个-backend前的所有内容。要精准提取目标部分,有两种简单可行的方案:

方案1:精准定位目标路径段

利用URL结构中目标内容在backendServices/之后的特点,给正向预查加上前缀限定,直接锁定第二个website-prod-:

(?<=backendServices/website-prod-).*(?=-backend)

这个正则会先匹配backendServices/website-prod-作为前置条件,确保只提取backendServices路径段后的目标内容,完全避开前面projects里的第一个website-prod-。

方案2:限制匹配范围不跨路径分隔符

因为目标内容所在的路径段没有/,可以用[^/]*代替.*,匹配除/之外的所有字符,避免跨越到前面的路径段:

(?<=website-prod-)[^/]*(?=-backend)

[^/]*是精准的非贪婪匹配,只会匹配当前路径段内website-prod-到-backend之间的内容,不会涉及前面的website-prod-1234部分。

测试这两个正则,都能从你的示例URL中提取出预期结果:

num-1111
re-3724
test

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.28 14:29:59