Python中文
首页
教程
问答
标签
搜索
登录
注册
模式匹配问题
回答此问题可获得
20
贡献值,回答如果被采纳可获得
50
分。
<p>我有以下URL路径:</p> <p>我想捕捉不同的片段。包括<code>.mp4</code>在内的所有内容都相当简单,但在这之后,使用以下子段会变得很棘手:</p> <p><code>media_u11bgy04l_b282848_qdGltZT0xMzgwMjA0ODMzJnNlc3Npb249MjE2ODcxNzI3NTc=.abst/Seg1-Frag74</code></p> <p>我希望捕捉到这一点,因此我有三个匹配项:</p> <ol> <li><code>media_u11bgy04l_b282848_qdGltZT0xMzgwMjA0ODMzJnNlc3Npb249MjE2ODcxNzI3NTc=</code></li> <li><code>.abst</code></li> <li><code>/Seg1-Frag74</code></li> </ol> <p>这个想法是#2可以是不同的格式(它是用于livestreaming的,所以我们有<code>.f4m</code>和<code>.m3u8</code>),而#1基本上是我需要跳过的东西。#3是可选的(并不总是存在),因此即使2后面没有任何内容,它也必须匹配。你知道吗</p> <p>我试过以下方法:<code>(.*?)(\.abst|\.f4m|\.m3u8)?(.*)</code></p> <p>但是结果如下(我使用的是python,因此<code>None</code>):</p> <ol> <li>“”(空字符串)</li> <li>没有</li> <li>媒体\u u11bgy04l \u b282848 \u qdGltZT0xMzgwMjA0ODMzJnNlc3Npb249MjE2ODcxNzI3NTc=.abst/Seg1-Frag74</li> </ol> <p>如果我把它改成如下,<code>(.*)(\.abst|\.f4m|\.m3u8)?(.*)</code>,我得到:</p> <ol> <li>媒体\u u11bgy04l \u b282848 \u qdGltZT0xMzgwMjA0ODMzJnNlc3Npb249MjE2ODcxNzI3NTc=.abst/Seg1-Frag74</li> <li>没有</li> <li>“”(空字符串)</li> </ol> <p>第二部分是可选的,因为我们希望捕获意外的输入(并抛出一个错误以便进行调查),以防出现格式错误的请求或遗漏的内容(其中不是预先指定的播放列表类型或类似类型)。你知道吗</p> <p>我对使用非正则表达式的解决方案持开放态度,我只是不确定如何解决这个问题。感谢您的帮助。你知道吗</p>
0 条评论
分类:
Python问答
请先
登录
后评论
默认排序
时间排序
1 个回答
匿名
1天前
擅长:python、mysql、java
<p>不要将第二组设为可选组,也不需要捕获第1组和第3组:</p> <pre><code>.*?(\.abst|\.f4m|\.m3u8).*? </code></pre>
请先
登录
后评论
针对此问题:
更多的回答
关注
89
关注
收藏
1
收藏,
216
浏览
网友 提问于 2天前
相关Python问题
如何在乒乓球比赛中预测球的轨迹,对于AI球拍预测?
9 回答
如何在乒乓球游戏中阻止球
10 回答
如何在乘法和模中不乘空间?
5 回答
如何在乘法和除以2个不同的数字之间进行交换?
1 回答
如何在也是数据一部分的单个字符上拆分大字符串
9 回答
如何在乾草堆中找到針,有更好的解決方案嗎?
2 回答
如何在事件wxWidgets中传递自定义数据
8 回答
如何在事件中使用lambda i=i?
5 回答
如何在事件中心只接收最近的数据
6 回答
如何在事件发生之前保持云函数运行?
3 回答
如何在事件发生后使页面重定向到同一页面
2 回答
如何在事件回调之间保持python生成器的状态
1 回答
如何在事件处理程序(pythonsocket、sphinx)中保留docstring
3 回答
如何在事件处理程序中更改wxRichTextCtrl的光标位置?
3 回答
如何在事件处理程序中访问外部对象?
8 回答
如何在事件循环中将协程打包为正常函数?
1 回答
如何在事件循环之外运行协同程序?
5 回答
如何在事件循环结束时为并发未来的所有线程调用类方法?
8 回答
如何在事件文件中只保留一份摘要?
5 回答
如何在事件模板中添加事件
9 回答