使用正则表达式将电影文件名与可选部分匹配

杰森·哈德森

我有以下格式的电影片名

(Studio Name) - Film Title Part-1** - Animation** (2014).mp4

粗体部分是可选的,这意味着我可以拥有这样的标题

(Studio Name) - Film Title Part-1 (2014).mp4

有了这个正则表达式

^\((?P<studio>.+)\) - (?P<title>.+)(?P<genre>-.+)\((?P<year>\d{4})\)

我得到以下结果

工作室=工作室名称
标题=电影标题第1部分
流派=-动画
年份= 2014

通过将正则表达式更改为以下内容来尝试使“-动画”为可选

^\((?P<studio>.+)\) - (?P<title>.+)(?:(?P<genre>-.+)?)\((?P<year>\d{4})\)

但我最终得到以下结果

工作室=工作室名称
标题=电影标题第1部分-动画
类型=
年= 2014

我正在使用Python,正在执行以处理正则表达式的代码是

pattern = re.compile(REGEX) 
matched = pattern.search(film)
第四只鸟

您可以忽略流派的非捕获组,将第.*一个更改为[^()]与除括号之外的任何字符匹配的否定字符类,并使.+greoup标题不贪心以允许匹配可选流派。

对于类型,您可以匹配.+,或者如果您只想匹配一个单词,则使匹配更具体。

^\((?P<studio>[^()]+)\) - (?P<title>.+?)(?P<genre>- \w+ )?\((?P<year>\d{4})\)

正则表达式演示

说明

  • ^ 字符串开始
  • \((?P<studio>[^()]+)\)名为group studio的匹配任何字符,但介于(之间的括号除外)
  • - 逐字匹配
  • (?P<title>.+?)命名组标题,尽可能匹配除换行符以外的任何字符
  • (?P<genre>- \w+ )?命名组类型,匹配-空间,1个以上的字符和空格
  • \((?P<year>\d{4})\)命名组一年,匹配之间的4个数字()

如果要匹配整行:

^\((?P<studio>[^()]+)\) - (?P<title>.+?)(?P<genre>- \w+ )?\((?P<year>\d{4})\)\.mp4$

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

使用正则表达式匹配文件名

来自分类Dev

正则表达式匹配文件名

来自分类Dev

正则表达式以匹配KB文件名

来自分类Dev

正则表达式匹配文件名

来自分类Dev

正则表达式无法匹配文件名

来自分类Dev

Perl正则表达式匹配部分作为输出文件名

来自分类Dev

我们如何使用正则表达式从文件名检查电影是否为3d

来自分类常见问题

使用正则表达式获取文件名的中间部分

来自分类Dev

使用正则表达式获取文件名的中间部分

来自分类Dev

如何使用正则表达式匹配文件名来运行Mocha测试?

来自分类Dev

使用Linux Shell正则表达式匹配文件名

来自分类Dev

如何使用正则表达式匹配不带扩展名的文件名单词?

来自分类Dev

使用Ruby正则表达式匹配文件名的最有效方法

来自分类Dev

使用python中的模式或正则表达式匹配检查文件名

来自分类Dev

使用正则表达式匹配URL中的特定文件名

来自分类Dev

如何使用正则表达式匹配Content-Disposition文件名?

来自分类Dev

Python正则表达式:如何将文件名与可选后缀匹配?为什么是'(。*?)(\。suffix)?不起作用?

来自分类Dev

正则表达式捕获文件名和可选扩展名

来自分类Dev

正则表达式匹配与可选部分交替

来自分类Dev

正则表达式以匹配没有匹配文件名的url目录路径

来自分类Dev

Javascript正则表达式匹配扩展名的文件名

来自分类Dev

列出目录中的文件,文件名与JS中的正则表达式匹配

来自分类Dev

正则表达式模式以匹配日志文件中的APK文件名

来自分类Dev

正则表达式可选匹配

来自分类Dev

正则表达式可选匹配

来自分类Dev

使用apache spark基于正则表达式匹配行以及目录中的文件名

来自分类Dev

需要使用正则表达式匹配变量中存在的类似标题的文件名

来自分类Dev

我可以使用什么正则表达式来匹配和替换多个文件名中的句号?

来自分类Dev

Bash函数在git存储库中搜索与正则表达式匹配的文件名

Related 相关文章

  1. 1

    使用正则表达式匹配文件名

  2. 2

    正则表达式匹配文件名

  3. 3

    正则表达式以匹配KB文件名

  4. 4

    正则表达式匹配文件名

  5. 5

    正则表达式无法匹配文件名

  6. 6

    Perl正则表达式匹配部分作为输出文件名

  7. 7

    我们如何使用正则表达式从文件名检查电影是否为3d

  8. 8

    使用正则表达式获取文件名的中间部分

  9. 9

    使用正则表达式获取文件名的中间部分

  10. 10

    如何使用正则表达式匹配文件名来运行Mocha测试?

  11. 11

    使用Linux Shell正则表达式匹配文件名

  12. 12

    如何使用正则表达式匹配不带扩展名的文件名单词?

  13. 13

    使用Ruby正则表达式匹配文件名的最有效方法

  14. 14

    使用python中的模式或正则表达式匹配检查文件名

  15. 15

    使用正则表达式匹配URL中的特定文件名

  16. 16

    如何使用正则表达式匹配Content-Disposition文件名?

  17. 17

    Python正则表达式:如何将文件名与可选后缀匹配?为什么是'(。*?)(\。suffix)?不起作用?

  18. 18

    正则表达式捕获文件名和可选扩展名

  19. 19

    正则表达式匹配与可选部分交替

  20. 20

    正则表达式以匹配没有匹配文件名的url目录路径

  21. 21

    Javascript正则表达式匹配扩展名的文件名

  22. 22

    列出目录中的文件,文件名与JS中的正则表达式匹配

  23. 23

    正则表达式模式以匹配日志文件中的APK文件名

  24. 24

    正则表达式可选匹配

  25. 25

    正则表达式可选匹配

  26. 26

    使用apache spark基于正则表达式匹配行以及目录中的文件名

  27. 27

    需要使用正则表达式匹配变量中存在的类似标题的文件名

  28. 28

    我可以使用什么正则表达式来匹配和替换多个文件名中的句号?

  29. 29

    Bash函数在git存储库中搜索与正则表达式匹配的文件名

热门标签

归档