当数字未知时,我需要查明变量是否包含S00E00
。我尝试了很多不同的东西,我可以识别字母和数字,但只能分开。基本上我需要的是从这里定义的标准命名中识别文件是否是电视节目:https://support.plex.tv/hc/en-us/articles/200220687-Naming-Series-Season-Based-TV-Shows。
答案 0 :(得分:4)
您可以使用以下表达式:
/
\b # word boundary
s # letter s
\d{2} # exactly 2 digits
e # letter e
\d{2} # exactly 2 digits
\b # word boundary
/ix # case- and space-insensitive matching
例如:
str = 'Heroes - s01e02 - The Coming Storm.avi'
str.match /\bs\d{2}e\d{2}\b/i
#=> #<MatchData "s01e02">