电视剧的Javascript正则表达式

电视剧的Javascript正则表达式,javascript,regex,Javascript,Regex,我想做的是从这些不同的可能组合中匹配季数和集数: S01E05 S1E5 1x05 1x5 我感兴趣的数据分别是第1季和第5集。尝试以下表达式,它将捕获不带前导零的系列和第5集: ^S?0*(\d+)?[xE]0*(\d+) 此时,检测用^字符锚定到名称的开头。如果序列名称在字符串中的其他位置,请将其删除。这应该与启用多行修改器的所有示例相匹配: ^S?\d+[Ex]\d+$ 缺点是,它还将匹配: S01x5 如果这是不可接受的,您将需要上述正则表达式的一个变体来检测输入是否以S开头。这

我想做的是从这些不同的可能组合中匹配季数和集数:

S01E05
S1E5
1x05
1x5

我感兴趣的数据分别是第1季和第5集。

尝试以下表达式,它将捕获不带前导零的系列和第5集:

^S?0*(\d+)?[xE]0*(\d+)

此时,检测用
^
字符锚定到名称的开头。如果序列名称在字符串中的其他位置,请将其删除。

这应该与启用多行修改器的所有示例相匹配:

^S?\d+[Ex]\d+$
缺点是,它还将匹配:

S01x5

如果这是不可接受的,您将需要上述正则表达式的一个变体来检测输入是否以
S

开头。这不是一个坏问题,但可以,编辑它以允许0以上的零并正确匹配。这可能与在不使表达式变得不必要复杂的情况下得到的结果一样好。这里有一个解释和演示:我建议你也在结尾添加一个锚(
$
)。@chiborg我需要为剧集支持大写字母E和小写字母E,也为本季支持大写字母E和小写字母E