Eclipseの正規表現での改行検索

改行を含んだ検索置換をしているとひっかからなかったりしたので調べました。

現在存在する改行コードは以下の二種類です。

1. LF (line feed)

UNIXやunix系OSで使われる改行コードです。MacはOS Xからこの改行コードになりました。\nと表現されます。

2. CRLF (carriage return, line feed)

Windowsで使われる。\r\nと表現されます。

その他 CR (carriage return)

旧Macで使われていましたが今ではみかけません。

実はEclipseの検索方法によって引っかかり方が違います

 ctrl + hによる検索

この検索では\rと\nが別の文字として検索するので”正規表現”にチェックを入れて/rを検索するとCRLFが引っかかります。

 ⌘ + fによる検索

この検索では/r/nがひとつの文字CRLFとして検索されるので/rと検索してもCRLFは引っかかりません。

 正規表現での改行を検索

改行を(\n|\r\n)として検索したほうが安全だと思います。 可能であればそのファイルの改行コードを変換してから検索すれば正規表現はすっきりします。 変換では次のhackが参考になります。改行コード変換