Perl匹配空行用m / ^ * $ /

时间:2017-02-28 06:52:49

标签: regex perl

这是perl脚本:

while ($line = <>)
{
        if ($line =~ m/^ *$/)
        {
                $line = "--blank\n";
        }
        print($line);
}

--blank\n替换文件中的所有空行。

我不明白为什么它有效。为什么这个正则表达式m/^ *$/匹配空白行?因为行尾有换行符,所以不能匹配。

更新:

我假设:^是行的开头,*没有或尽可能多的空格,$行尾。

空行必须是这样的:[ ][ ][ ]\n ^然后[ ]*然后是\n$

为什么匹配?

1 个答案:

答案 0 :(得分:5)

$匹配字符串的结尾或字符串末尾的换行符之前。