我有以下 URL 路径:
我希望捕捉不同的片段。包括 在内的所有.mp4
内容都相当容易,但在以下子部分之后会变得很棘手:
media_u11bgy04l_b282848_qdGltZT0xMzgwMjA0ODMzJnNlc3Npb249MjE2ODcxNzI3NTc=.abst/Seg1-Frag74
我希望捕捉到这一点,所以我有三场比赛:
media_u11bgy04l_b282848_qdGltZT0xMzgwMjA0ODMzJnNlc3Npb249MjE2ODcxNzI3NTc=
.abst
/Seg1-Frag74
这个想法是 #2 可以是不同的格式(它用于直播,所以我们有.f4m
and .m3u8
)和 #1 基本上是我只需要跳过的东西。#3 是可选的(并不总是存在),因此即使 #2 后面没有任何内容,它也必须匹配。
我尝试了以下方法:(.*?)(\.abst|\.f4m|\.m3u8)?(.*)
但结果如下(我使用的是 python,因此是None
):
- ''(空字符串)
- 没有任何
- media_u11bgy04l_b282848_qdGltZT0xMzgwMjA0ODMzJnNlc3Npb249MjE2ODcxNzI3NTc=.abst/Seg1-Frag74
如果我将其更改为以下(.*)(\.abst|\.f4m|\.m3u8)?(.*)
,我得到:
- media_u11bgy04l_b282848_qdGltZT0xMzgwMjA0ODMzJnNlc3Npb249MjE2ODcxNzI3NTc=.abst/Seg1-Frag74
- 没有任何
- ''(空字符串)
第二部分是可选的,因为我们想要捕获意外的输入(并抛出错误以便我们进行调查),以防出现格式错误的请求或我们遗漏的东西(它不是预先指定的播放列表类型或类似类型之一)。
我愿意使用非正则表达式解决方案,我只是不确定如何解决这个问题。任何帮助表示赞赏。