Eclipse使用正则表达式查找/替换整行

Cra*_*aig 5 java regex eclipse

我正在使用Eclipse的Find/Replace将一些sql代码格式化为Java字符串.我想将sql查询的每一行放在引号之间,并在末尾添加换行符.

这是我在查找字段中添加的内容:

(.*)
Run Code Online (Sandbox Code Playgroud)

这是我放在替换字段中的内容

\t\t+ "\1\\n"
Run Code Online (Sandbox Code Playgroud)

这是一个简单的例子(我的实际sql查询大约是200行)

SELECT *

FROM User
WHERE User.Id = 1232164
Run Code Online (Sandbox Code Playgroud)

这就是我期望看到的

    + "SELECT *\n"
    + "\n"
    + "FROM User\n"
    + "WHERE User.Id = 1232164\n"
Run Code Online (Sandbox Code Playgroud)

但是,查找在遇到空行时失败,它表示没有更多匹配的结果并终止(或者如果标记了"Wrapped Search"选项,则跳转到文件的顶部)

我也尝试在find regex中使用以下内容

^(.*)
^(.*)$
Run Code Online (Sandbox Code Playgroud)

结果相同

任何人都知道我做错了什么,或者这是Eclipse中的一个错误.

它的价值在于它在我最初编写它时在Emacs中运行良好.

Dun*_*nes 5

这让我觉得它是Eclipse中的一个错误.尽管如此,我已经通过使用搜索模式实现了您期望的结果(在Eclipse Juno中):

(.*)\R
Run Code Online (Sandbox Code Playgroud)

和替换字符串:

\t\t+ "\1\\n"\R
Run Code Online (Sandbox Code Playgroud)

请注意,这\R是一种特殊的Eclipse模式,可在搜索时匹配任何形式的行分隔符.替换时,它会插入文档的默认行分隔符.