次の URL パスがあります。
さまざまなセグメントをキャプチャしたいと考えています。を含むすべての作業.mp4
はかなり簡単ですが、その後、次のサブセグメントでは注意が必要です。
media_u11bgy04l_b282848_qdGltZT0xMzgwMjA0ODMzJnNlc3Npb249MjE2ODcxNzI3NTc=.abst/Seg1-Frag74
これをキャプチャしたいので、3 つの一致があります。
media_u11bgy04l_b282848_qdGltZT0xMzgwMjA0ODMzJnNlc3Npb249MjE2ODcxNzI3NTc=
.abst
/Seg1-Frag74
アイデアは、#2 は異なる形式にすることができ (これはライブ ストリーミング用なので、 と が.f4m
あります.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
- なし
- '' (空文字列)
2 番目の部分は省略可能です。これは、不正な形式のリクエストや何かを見逃した場合 (事前に指定されたプレイリスト タイプなどではない場合) に、予期しない入力をキャプチャする (そして調査できるようにエラーをスローする) ためです。
私は正規表現以外のソリューションを使用することにオープンです。これにアプローチする方法がわかりません。どんな助けでも大歓迎です。