1
我不習慣perl,並且遇到語法問題。我如何在下面返回「棕色」?從我讀什麼,這應該工作..在perl中提取開始點和結束點之間的文本
my $text = "the quick brown dog";
print "$text\n";
my $newvar = $text =~ m/quick (.*) dog/;
print "$newvar\n";
我不習慣perl,並且遇到語法問題。我如何在下面返回「棕色」?從我讀什麼,這應該工作..在perl中提取開始點和結束點之間的文本
my $text = "the quick brown dog";
print "$text\n";
my $newvar = $text =~ m/quick (.*) dog/;
print "$newvar\n";
my $newvar = $text =~ m/ quick (.*) dog /;
是在標量上下文的分配,併爲其指定1
或undef
。
你想在列表環境
my ($newvar) = $text =~ m/ quick (.*) dog /;
從正則表達式分配捕獲組此分配。
標量和列表上下文之間的區別是在Perl中習慣的最棘手的事情之一。
請注意,從Perl正則表達式捕獲的組也被分配到特殊變量$1
,$2
,...。所以你也可以只說
print "$1\n";