如何将季节/剧集与Ruby中的字符串相匹配?

时间:2014-10-29 20:45:51

标签: ruby string match

当数字未知时,我需要查明变量是否包含S00E00。我尝试了很多不同的东西,我可以识别字母和数字,但只能分开。基本上我需要的是从这里定义的标准命名中识别文件是否是电视节目:https://support.plex.tv/hc/en-us/articles/200220687-Naming-Series-Season-Based-TV-Shows

1 个答案:

答案 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">