匹配一个单词与领先的白色空间

时间:2013-02-05 22:29:21

标签: regex perl

我在数组@stat中有以下字符串:

  r>  10.12.44.0/24                             
  r>  10.11.48.0/24                               
  *>  10.15.49.0/24                              
  r>  10.16.53.0/24                               
  r>  10.14.59.0/24                              
  *>  10.18.63.0/24

我希望与拥有“*>”的人匹配。请注意,*之前有空格。我尝试使用以下内容,但它没有用。

foreach (@stat) {
    if (/^\s\*\>/) { 
    # do something
    }
}

我错过了什么?

1 个答案:

答案 0 :(得分:4)

\s匹配一个空格字符。您发布的内容实际上有两个前导空格。以下应该可以做到这一点:

foreach (@stat) {
    if (/^\s*\*>/) { 
        # do something
    }
}

如果没有,请仔细检查阵列中的实际内容。

use Data::Dumper qw( Dumper );

{
    local $Data::Dumper::Useqq = 1;
    print(Dumper(\@stat));
}