2011-04-19 100 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)