我正在使用 Eclipse 的查找/替换将一些 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"
但是,当遇到空行时查找失败,它表示没有更多匹配结果并终止(或者如果标记了“Wrapped Search”选项则跳转到文件顶部)
我还尝试在查找正则表达式中使用以下内容
^(.*)
^(.*)$
同样的结果
任何人都知道我做错了什么或者这可能是 Eclipse 中的错误。
就其值(value)而言,它在 Emacs 中运行良好,正如我最初编写的那样。
最佳答案
我觉得它是 Eclipse 中的一个错误。尽管如此,我已经通过使用搜索模式实现了您想要的结果(在 Eclipse Juno 中):
(.*)\R
和替换字符串:
\t\t+ "\1\\n"\R
请注意,\R
是一种特殊的 Eclipse 模式,在搜索时可以匹配任何形式的行定界符。替换时,它会插入文档的默认行分隔符。
关于java - Eclipse 使用正则表达式查找/替换整行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12814833/