我正在尝试编写一个 perl 正则表达式来提取冒号 : 后大于 2 个字母的单词。例如,如果模式是主题:我要写一个正则表达式。我只需要在我的 $variable 中提取 >2 个字母的单词,即 $variable = "subject:about write regex"。
这是我的程序,其中完成了正则表达式和模式匹配,但是当我打印时,我的变量为空。我究竟做错了什么?
#!/usr/bin/perl
while (<STDIN>) {
foreach my $query_part (split(/\s+/, $_)) {
my($query_part_subject) = $query_part =~ /([^\w\@\.]+)?((?:\w{3,}|[\$\@()+.])+)(?::(\w{3,}.+))?/ ;
print "query_part : $query_part_subject \n";
}
}
exit(0);