如前所述,看起来您正在寻找 x 修饰符。该修饰符忽略正则表达式中的所有空格,并允许注释(以 # 开头)。
在你的情况下,它有点难看,因为你必须用 []、\s 或 \s+ 替换你想要在正则表达式中匹配的所有空格:
$array_11 =~ m{By \s+ Steve \s+ (.*), \s+
MarketWatch \s+ LONDON \s+ (.*) \s+
-- \s+ Shares \s+ of \s+ Anglo \s+ American \s+
rallied \s+ on \s+ Monday \s+ morning \s+ as \s+
(.*) \s+ bet \s+ that \s+ the \s+ mining \s+
group \s+ will \w+ reject \w+ a \w+(.*)
}x;
所以实际上我可能会写这样的东西:
my $sentence= q{By Steve (.*), MarketWatch LONDON (.*) }
. q{-- Shares of Anglo American rallied on Monday morning as (.*) }
. q{bet that the mining group will reject a (.*)}
;
my $array_11=~ m{$sentence};
最后一条评论:$array_11
有强烈的代码气味,如果它是一个数组,那么让它成为一个数组,而不是几个标量变量。