這是perl腳本:
while ($line = <>)
{
if ($line =~ m/^ *$/)
{
$line = "--blank\n";
}
print($line);
}
用於替換文件中的所有空行與--blank\n
。
我不明白爲什麼它工作。爲什麼這個正則表達式m/^ *$/
匹配空行?因爲在行尾有換行符,所以不能匹配。
UPDATE:
我認爲:^
是行的開頭,*
儘可能沒有或儘可能多的空間,線$
結束。
空行必須是這樣的:[ ][ ][ ]\n
這是^
然後[ ]*
然後\n
和$
。
它們爲什麼匹配?
可能的重複[參考 - 這是什麼正則表達式?](http://stackoverflow.com/questions/22937618/reference-what-does-this-regex-mean) – Tushar
'^':開始行, '*'表示任意數量的空格,'$':行尾。 – Tushar
據我所知,'$'與任何字符都不匹配,不包括'\ n'。還是呢? – nikartix