在Perl中匹配数组中的确切字符串

时间:2019-05-17 14:52:30

标签: perl pattern-matching

我想匹配文件中两个转义字符之间存在的Perl中的确切字符串。

我尝试了以下代码,但是当要匹配的模式前后存在转义字符时,它们将不起作用。

注意:@ary包含.txt文件的内容作为脚本的参数。

if (grep -w (/$str/), @ary) {

   # do something

}

注意grep(/^$str/), @ary也不起作用。

@ary中的内容采用以下格式:

/abc/pqr/pattern/xyz…

我要检查@ary中是否存在模式。该模式应完全匹配。

1 个答案:

答案 0 :(得分:0)

如果由于某种原因您不想只使用grep,此代码将起作用并找到转义字符之间的匹配项:

#!/usr/bin/perl
use strict;
use warnings;

my @ary = ("/abc/pqr/pattern/xyz");

if ("@ary" =~ m/(pattern)/) {
print "match is $1";
}
else {
print "no match";
}

exit 0;