正则表达式:如果包含特定字符串,则不匹配

时间:2014-01-13 16:24:51

标签: regex

我有两个字符串:

"Some Stuff S00E00 HDTV x264-2HD mp4"

"Some Stuff S00E00 720p HDTV X264"

这个正则表达式:

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

我需要的是只匹配第一个。因此,如果字符串包含“720”,则正则表达式不应与该字符串匹配。但该字符串必须包含“mp4”,“HDTV”或“x264”。

1 个答案:

答案 0 :(得分:14)

如果您选择的语言/平台支持它,您可以使用negative lookahead assertion,如下所示:

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

但这可以进一步简化为:

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

Demonstration