Python正则匹配提取SnnEnn、nnXnn格式下数字与[a-e]字母的问题
可用正则表达式
\b(?:[Ss](?P<Season>\d+)[Ee](?P<Episode>\d+)|(?P<Num1>\d+)[Xx](?P<Num2>\d+))(?P<Suffix>[a-e])?
分组说明
Season:S/E格式下的第一个数字值(季编号)Episode:S/E格式下的第二个数字值(集编号)Num1:X分隔格式下的第一个数字值Num2:X分隔格式下的第二个数字值Suffix:可选的[a-e]范围后缀,不存在时分组值为空
场景匹配验证
- 文本
02x01:提取02、01,符合预期 - 文本
03x02a:提取03、02、a,符合预期 - 文本
S03E01:提取03、01,符合预期 - 文本
S03E01a:提取03、01、a,符合预期 - 文本
03x02xxxx:忽略后面多余字符,提取03、02,符合预期 - 文本
S03E01xxx:忽略后面多余字符,提取03、01,符合预期
使用说明
使用正则时可以附加不区分大小写的修饰符,兼容大小写混合的X/S/E写法,例如Python中使用re.IGNORECASE参数、JavaScript中添加i修饰符。
内容的提问来源于stack exchange,提问作者John W
相关产品推荐
相关产品推荐

