如果正则表达式匹配A而不是正则表达式B,则Perl打印

GL2014

我要打印文件的一行,如果它包含字符串A并且不包含字符串B(也在每个冒号处也分成换行符)。正确的语法是什么?这是我尝试过的方法(我希望它打印包含“ bash”的行,但不打印包含数字的行):

my $file = passwdtest;
open(FH, "$file"); 
foreach (<FH>) { 
print join("\n", split(/:/, "$_")) if ($_ =~ /bash/ and $_ != /\d+/);
};

close FH;
Cfreak
 $_ != /\d+/

是短的

 $_ != ($_ =~ /\d+/)

而不是!=你需要!~

if ($_ =~ /bash/ and $_ !~ /\d+/);

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章