我試圖格式匹配(在Python)從電視節目的文件名的節目名稱和季節/集數:如何停止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})
正確的顯示兩個給我Show Two
,08
和02
。然而,Show One中的720意味着我回到7
和20
季節/劇集。
如果我在[XxEe]
之後刪除?
,那麼它會匹配這兩種類型,但我希望該範圍對於不包含情節標識符的文件名是可選的。
我試過使用??
來阻止[XxEe]
匹配貪婪,如python文檔re模塊部分所列,但這沒有效果。
如何捕獲系列名稱部分和季節/情節部分,而忽略字符串的其餘部分?
你可能會更好地做'name.split('。') ',然後通過從頭到尾反向工作來分開它。 –
我最初使用'split()',但我不能保證文件將被'.'分隔,並且在季節/劇集編號之前的項目數目將是可變的。 – ghickman