正则表达式帮助

时间:2011-04-19 21:54:51

标签: regex

我正在尝试编写一个查看文件夹中文件的小应用程序,并根据该名称执行操作。

文件的一个例子是:

CSI Miami S04E21 720p HDTV X264-DIMENSION.avi

那是一部叫做CSI迈阿密的电视节目......它是第4季,第21集,它是一个720p版本。

我有一个像这样的正则表达式:

即可。?CSI。+?迈阿密。+?720P。

但这失败了。

我认为它是''CSI和迈阿密和720p的任何字符串。但是,它永远不会奏效。似乎要求所有的话都在一起。但是因为文件名中包含S04E21,所以正则表达式失败了......我想。

你能发现错误吗?

2 个答案:

答案 0 :(得分:2)

根据您的正则表达式的风格以及您的匹配方式,您可能会遇到任何问题,但您可能希望从这开始:

.*?CSI.+?Miami.+?720p.*

这将匹配文件名的开头和结尾,以防你正在调用的是试图匹配整个字符串。

答案 1 :(得分:0)

(?=.*CSI)(?=.*Miami)(?=.*720p)

(?=[\S\s]*CSI)(?=[\S\s]*Miami)(?=[\S\s]*720p)