我有一个包含CA,C,CB,CZ的数组。我想要if语句只匹配C,CB,CZ。
@array = ("CA", "C", "CB", "CZ");
foreach (@array) {
if ($_ =~ m/^C|^C.&[^CA]) {
print "true \n";
}
}
这不起作用,但我认为它可能很接近。我可以用什么perl正则表达式来实现我的目标?
答案 0 :(得分:3)
最简单的解决方案如下:
/^C[BZ]?\z/
如果你真的想要匹配以" C"开头的字符串,那么" C"不是" A",然后您需要以下内容:
/^C(?!A)/
答案 1 :(得分:0)
我认为这符合你的要求:
#!/usr/bin/env perl
@array = ("CA", "C", "CB", "CZ");
foreach (@array) {
if ($_ =~ m/^C$|^C[^A]/) {
print "true \n";
}
}
答案 2 :(得分:-2)