匹配带有前导空格的单词

rai*_*rop 4 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
Run Code Online (Sandbox Code Playgroud)

我要匹配有“ ”的人*>。注意前面有空格*。我尝试使用以下内容,但没有成功。

foreach (@stat) {
    if (/^\s\*\>/) { 
    # do something
    }
}
Run Code Online (Sandbox Code Playgroud)

我错过了什么?

ike*_*ami 5

\s匹配一个空白字符。您发布的内容实际上有两个前导空格。以下应该可以解决问题:

foreach (@stat) {
    if (/^\s*\*>/) { 
        # do something
    }
}
Run Code Online (Sandbox Code Playgroud)

如果没有,请更仔细地检查数组中实际包含的内容。

use Data::Dumper qw( Dumper );

{
    local $Data::Dumper::Useqq = 1;
    print(Dumper(\@stat));
}
Run Code Online (Sandbox Code Playgroud)