我多年来在媒体服务器上收集了大量的电视剧。我编写了一个脚本,使用适当的文件名方案对它们进行重命名,但在尝试针对多个文件命名方案时遇到了一些正则表达式问题。
以下是我的当前函数,适用于从采用“s01e01”格式的文件名中获取剧集编号。
这段代码可以在正则表达式测试工具(如RegexPal和Python Regex Tool)中使用。
然而,当我将其插入到我的函数中时,它却无法工作。这让我感到困惑,因为它似乎在上面链接的Python正则表达式工具中能够工作。任何帮助都将不胜感激。
编辑:以下是文件使用的一些方案示例。
以下是我的当前函数,适用于从采用“s01e01”格式的文件名中获取剧集编号。
def getEpisode(filename):
matches = re.findall(r"e[0-9][0-9]", filename)
if len(matches) == 1:
episode = matches[0]
episode = stripEp(episode)
return episode
else:
return False
def stripEp(target):
target = target.strip()
target = target.strip('abcdefghijklmnopqrstuvwxyz.')
return target
我需要做的是在使用多个方案时从文件名中获取剧集号码。我花了一段时间搜索并尝试了以下方法。
matches = re.findall(r"(e[0-9][0-9]|E[0-9][0-9]|x[0-9][0-9]|X[0-9][0-9]|episode [0-9][0-9]|Episode [0-9][0-9]|\n[0-9][0-9])", filename)
这段代码可以在正则表达式测试工具(如RegexPal和Python Regex Tool)中使用。
然而,当我将其插入到我的函数中时,它却无法工作。这让我感到困惑,因为它似乎在上面链接的Python正则表达式工具中能够工作。任何帮助都将不胜感激。
编辑:以下是文件使用的一些方案示例。
Series Name s01e01.avi
Series Name 1x01.avi
Series Name episode 01.avi
01 Episode Title.avi