我有一个模式, 就这样吧,
pppoe lg id 827 vlan-id 100 pppoe user@local local Jan 3 14:41:20
从此我想要模式'pppoe',并希望确保它出现两次。
pppoe lg id 827 vlan-id 100 pppo user@local local Jan 3 14:41:20
此处pppoe
只出现一次,其他为pppo
,这次不应该匹配。
答案 0 :(得分:4)
一种直接的方法是将匹配放在一个数组中并检查项目数:
my $str = "pppoe lg id 827 vlan-id 100 pppoe user\@local local Jan 3 14:41:20";
my @count = $str =~ /pppoe/g;
if (scalar @count == 2) {
print "MATCH exactly two times\n";
}
或者,正如mpapec所建议的那样:
print "MATCH\n" if scalar @{[ $str =~ /pppoe/g ]} == 2;
答案 1 :(得分:0)
答案 2 :(得分:0)
所有必要的是
if ($str =~ /pppoe.*pppoe/) {
...
}