EclipseのFind/Replaceを使用して、SQLコードをJava文字列としてフォーマットしています。SQLクエリの各行を引用符で囲み、最後に改行を追加します。
これが私が検索フィールドに入れたものです:
(.*)
これは私が置換フィールドに入れたものです
\t\t+ "\1\\n"
これが簡単な例です(私の実際のSQLクエリは約200行です)
SELECT *
FROM User
WHERE User.Id = 1232164
そして、これは私が後に見ることを期待しているものです
+ "SELECT *\n"
+ "\n"
+ "FROM User\n"
+ "WHERE User.Id = 1232164\n"
ただし、一致する結果がないことを示す空白行に遭遇すると検索は失敗し、終了します(または、[ラップされた検索]オプションがマークされている場合はファイルの先頭にジャンプします)
また、findregexで以下を使用してみました
^(.*)
^(.*)$
同じ結果で
誰もが私が間違っていることを知っているか、これはおそらくEclipseのバグです。
その価値については、私が最初に書いたように、Emacsでは問題なく動作します。