Perl打印匹配的正则表达式字符串

时间:2017-12-05 07:29:19

标签: regex string perl

以下perl代码仅返回true或false(1& 0)

#!/usr/bin/perl
use strict;
use warnings;

my $string;

$string ="interface Ethernet1/20
  shutdown";

my $test = $string =~ m/^.+$(?=\s+shutdown)/mg;
print "'$test'\n"; 

我回来了1。 但是如何才能找回匹配的字符串'interface Ethernet1 / 20'? 谢谢你的帮助!

1 个答案:

答案 0 :(得分:0)

简单地给它列表上下文:

my ($test) = $string =~ m/^.+$(?=\s+shutdown)/mg;

评估上下文(list vs scalar)的概念是Perl编程的基础,因此可能是时候查看一些教程和/或参考手册了。