2014-01-13 3 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

Смежные вопросы

 Смежные вопросы