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