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

如何通过单个正则表达式分组1按条件匹配提取两类URL目标内容

单正则统一提取方案

原有正则问题

原正则^.[i,na,fm,d]+\/(.+([,\/])?(\/|.+=.+,\/).+\/[,](live.([^,]).).+_)?.+(640).*$失效核心原因有三点:

  • 强制要求匹配live相关片段,第一类点播流路径无live标识,直接导致整体匹配失败
  • 字符类写法错误,[i,na,fm,d]实际匹配单字符i、,、n、a、f、m、d,无法正确匹配/i/、/na/这类预期的路径前缀
  • 冗余匹配规则过多,容错性差

优化后正则

直接使用以下正则,分组1即可同时提取两类字符串的目标内容:

^/[a-z]+/(.+?(?=\/,640|_[a-zA-Z]+_640))

匹配逻辑说明

  • ^/[a-z]+/:匹配开头的路径前缀,兼容/i/、/na/、/fm/、/d/等各类字母开头的一级路径
  • (.+?):非贪婪模式捕获目标内容,匹配到终止标记立刻停止
  • (?=\/,640|_[a-zA-Z]+_640):正向零宽预查,定义两类终止边界,不占用匹配字符:
    • 对第一类点播串:遇到/,640(UUID后的分辨率分隔符)就停止捕获,最终拿到完整UUID路径段
    • 对第二类直播串:遇到_<字母串>_640(时间戳后的业务名+分辨率起始位)就停止捕获,最终拿到日期路径+直播流时间戳前缀段

验证结果

两类测试串匹配后分组1输出完全符合预期,无额外冗余字符,不需要编写多分支判断即可覆盖两类场景。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.28 15:39:25