我是PERL新手,正在處理一個正則表達式,僅匹配等於或多於3個字母的單詞。這是我正在嘗試的程序。我嘗試添加\ w {3,},因爲它應該匹配3個以上的字符。但它仍然匹配< 3個字符。例如,如果我給「這是一種模式」。我希望我的$字段只匹配「This」和「Pattern」,並跳過「is」和「a」。Perl正則表達式匹配超過2個字符的單詞
#!/usr/bin/perl
while (<STDIN>) {
foreach my $reg_part (split(/\s+/, $_)) {
if ($reg_part =~ /([^\w\@\.]*)?([\w{3,}\@\(\)\+\$\.]+)(?::(.+))?/) {
print "reg_part = $reg_part \n";
my ($mod, $field, $pat) = ($1, $2, $3);
print "#$mod#$field#$pat#$negate#\n";
}
}
}
exit(0);
我在想什麼?
它需要是一個正則表達式嗎?你是否試圖嚴格匹配字母字符? –