我正在尝试(在Python中)匹配来自电视集文件名的节目名和季节/集编号,格式如下:
Show.One.S01E05.720p.HDTV.x264-CTU.mkv
以及
Show.Two.S08E02.HDTV.XviD-LOL.avi
我的正则表达式:
(?P<show>[\w\s.,_-]+)\.[Ss]?(?P<season>[\d]{1,2})[XxEe]?(?P<episode>[\d]{2})
正确匹配显示2给我Show Two
,08
和{7
和{
如果我删除[XxEe]
之后的?
,那么它将匹配这两种类型,但我希望对于不包括事件标识符的文件名,该范围是可选的。在
我尝试过使用??
来阻止[XxEe]
匹配的贪婪,如python docsre模块部分所列,但这没有效果。在
如何在忽略字符串其余部分的同时捕获序列名部分和季节/集部分?在
在正则表达式末尾添加一个点:
在第一场比赛中改变贪婪:
注意第一组中
?
后面的+
。在说明:
第一场比赛吃得太多,所以减少它的贪欲会使下一场比赛更快。(顺便说一句,这不是一个很好的例子,我会改名字,因为它们听起来确实有点太过于温和了,说实话;—)
尝试:
相关问题 更多 >
编程相关推荐