在Perl中仅匹配一次

Perl中有match操作符的一个简单版本- ?PATTERN?运算符。这与m //运算符基本相同,除了它在每次调用重置之间搜索的字符串内仅匹配一次。

例如,您可以使用它来获取列表中的第一个和最后一个元素-

示例

#!/usr/bin/perl
@list = qw/food foosball subeo footnote terfoot canic footbrdige/;
foreach (@list) {
   $first = $1 if /(foo.*?)/;
   $last = $1 if /(foo.*)/;
}
print "First: $first, Last: $last\n";

执行以上程序后,将产生以下结果-

First: foo, Last: footbrdige