5

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では問題なく動作します。

4

1 に答える 1

5

それはEclipseのバグとして私を襲います。それでも、検索パターンを使用して(Eclipse Junoで)目的の結果を達成しました。

(.*)\R

および置換文字列:

\t\t+ "\1\\n"\R

\Rこれは、検索時に任意の形式の行区切り文字に一致する特別なEclipseパターンであることに注意してください。置き換えるときに、ドキュメントのデフォルトの行区切り文字が挿入されます。

于 2012-10-10T08:58:17.757 に答える