使用Regex查找包含一个字符串的字符串并排除第二个字符串?

时间:2012-08-08 15:03:44

标签: regex bash

我正在尝试使用单个正则表达式来匹配包含“mobile”的所有字符串,并且不包含“video”我一直在努力在单个表达式中执行此操作,并希望得到任何帮助。< / p>

1 个答案:

答案 0 :(得分:4)

使用否定前瞻声明:

^(?!.*video).*mobile

示例:

$ cat 1.txt
audio-mobile
mobile-video
mobile-video
video-mobile
videomobile
mobile
audio-mobile
audio

$ grep -P '^(?!.*video).*mobile' 1.txt
audio-mobile
mobile
audio-mobile