这是perl脚本:
while ($line = <>)
{
if ($line =~ m/^ *$/)
{
$line = "--blank\n";
}
print($line);
}
用--blank\n
替换文件中的所有空行。
我不明白为什么它有效。为什么这个正则表达式m/^ *$/
匹配空白行?因为行尾有换行符,所以不能匹配。
更新:
我假设:^
是行的开头,*
没有或尽可能多的空格,$
行尾。
空行必须是这样的:[ ][ ][ ]\n
^
然后[ ]*
然后是\n
和$
。
为什么匹配?
答案 0 :(得分:5)
$
匹配字符串的结尾或字符串末尾的换行符之前。