2011-04-19 332 views
0

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

文件的一个例子是:

CSI迈阿密S04E21 720p的HDTV X264-DIMENSION.avi

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

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

?CSI。+?Miami。+?720p。

但是,这失败了。

我认为这是'任何字符串CSI和迈阿密和720p。但是,它从来没有工作。它似乎要求所有的单词都在一起。但是因为文件名中有S04E21,所以正则表达式失败..我想。

你能发现一个错误吗?

+1

你正在写什么正则表达式的味道? – 2011-04-19 22:01:46

+0

作为匹配的结果,你想得到的子串是什么? – sawa 2011-04-19 22:04:00

+0

RegEx对我来说看起来很好,而且在SlickEdit中使用UNIX regexp也可以正常运行。它匹配以下部分“CSI迈阿密S04E21 720p”在哪些方面以及如何运行它? – 2011-04-19 22:07:44

回答

2

根据您的正则表达式的味道,以及如何你匹配,你可以有任意数量的问题,但你可能会想入手这款:

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

这将匹配到文件名的开始和结尾,以防您打电话给的是tryin g匹配整个字符串。

0

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

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