我有两个字符串:
"Some Stuff S00E00 HDTV x264-2HD mp4"
"Some Stuff S00E00 720p HDTV X264"
和这个正则表达式:
^.ome.*.tuff.*.(mp4.*|HDTV.*|x264.*)
我需要的是只匹配第一个。因此,如果字符串包含“720”,则正则表达式不应与之匹配。但是字符串必须包含“mp4”,“HDTV”或“x264”。
最佳答案
如果您选择的语言/平台支持,则可以使用negative lookahead assertion,如下所示:
^(?!.*720).ome.*.tuff.*.(mp4.*|HDTV.*|x264.*)
但这可以进一步简化为:
^(?!.*720).ome.*tuff.*(mp4|HDTV|x264).*
Demonstration
关于正则表达式:如果包含特定字符串,则不匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21096240/