2014-01-13 70 views
3

我有兩個字符串:正則表達式:不匹配,如果含有的特定字符串

"Some Stuff S00E00 HDTV x264-2HD mp4" 

"Some Stuff S00E00 720p HDTV X264" 

而這正則表達式:

^.ome.*.tuff.*.(mp4.*|HDTV.*|x264.*) 

我需要做的是隻匹配第一個。所以如果字符串包含「720」,正則表達式不應該匹配。但字符串必須包含「mp4」,「HDTV」或「x264」。

回答

9

如果你選擇的語言/平臺支持的話,你可以使用一個negative lookahead assertion,像這樣:

^(?!.*720).ome.*.tuff.*.(mp4.*|HDTV.*|x264.*) 

但是,這可以進一步簡化爲:

^(?!.*720).ome.*tuff.*(mp4|HDTV|x264).* 

Demonstration

相關問題