这个问题与那个问题相似,但我想预先排除一个字符串。假设文件:
cVar=
cVar=
1 cVar=
Var=
Var=
我想 grepVar
但不是cVar
。我试过grep -P '(?!c)Var' file
了,但我得到了文件的所有行。当我尝试grep -P ' (?!c)Var' file
(请注意括号前的空白)时,我得到了应有的最后一行。
A *
or.
没有帮助。
我在 Ubuntu 16.04 LTS、14.04 LTS 和 10.04 LTS 上对其进行了测试。总是一样的结果。
在 Perl 兼容正则表达式 (PCRE) 语法中,向前看
(?!c)
是负面的,而在这种情况下您想要的是向后看参见Lookahead 和 Lookbehind 零长度断言