我想要比赛
my @array = ( 'Tree' , 'JoeTree','Joe');
foreach (@array ) {
if ( $_ =~ /^(Joe)[^Tree]/gi) {
print "matched $_";
}
}
仅匹配Joe。它不应该匹配任何其他东西
答案 0 :(得分:6)
你不需要正则表达式:
if ($_ eq 'Joe') {
print "matched $_";
}
答案 1 :(得分:2)
仅匹配'Joe'作为整个文本?
/^(Joe)$/
或将'Joe'与单独的单词匹配?
/\b(Joe)\b/
或匹配'Joe'后面没有'Tree'?
/^(Joe)(?!Tree)/