【发布时间】:2013-03-06 15:59:47
【问题描述】:
我遇到以下问题,匹配来自文件名的所需数据,如下所示:
miniseries.season 1.part 5.720p.avi
miniseries.part 5.720p.avi
miniseries.part VII.720p.avi # episode or season expressed in Roman numerals
“season XX”块可能存在也可能不存在,或者可以写成简短的形式,例如“s 1”或“seas 1”
无论如何,我都希望有 4 个捕获组作为输出:
group1 : miniseries
group2 : 1 (or None)
group3 : 5
group4 : 720p.avi
所以我写了一个这样的正则表达式:
(^.*)\Ws[eason ]*(\d{1,2}|[ivxlcdm]{1,5})\Wp[art ]*(\d{1,2}|[ivxlcdm]{1,5})\W(.*$)
这仅在我有一个完全指定的文件名时有效,包括可选的“season XX”字符串。 如果找不到“season”,是否可以编写一个返回“None”作为 group2 的正则表达式?
【问题讨论】: