如何在Eclipse中搜索和替换2行(一起)?

Sam*_*Sam 49 eclipse replace editor

我想通过eclipse搜索以下两行的多个文件:

@Length(max = L_255)
private String description;
Run Code Online (Sandbox Code Playgroud)

并用这两个替换它们:

@Length(max = L_255, message="{validator.description.len}")
private String description;
Run Code Online (Sandbox Code Playgroud)

小智 56

关于如何获取所选块的正则表达式的另一个提示.打开包含多行(多行)的文件之一进行搜索或替换.单击Ctrl+ F并选择"正则表达式".关闭"查找/替换"窗口.选择所需的块,然后再次单击Ctrl+ F打开"查找/替换"窗口.现在,在"查找"文本框中,您可以使用与您的选择块完全匹配的正则表达式.

(我发现这一点,只有在手动创建一个非常长的块的正则表达式之后:)


Von*_*onC 40

当您使用正则表达式时,默认情况下在Eclipse中搜索是多行的:

(\@Length\(max = L_255)\)([\r\n\s]+private)
Run Code Online (Sandbox Code Playgroud)

我想添加"私有字符串描述";

(\@Length\(max = L_255)\)([\r\n\s]+private\s+?String\s+description\s*?;)
Run Code Online (Sandbox Code Playgroud)

取而代之:

\1, message="{validator.description.len}")\2
Run Code Online (Sandbox Code Playgroud)

它在由CTRL- 触发的文件搜索中完美地工作H.

Eclipse多行搜索

正如Tika回答中所提到的,您可以直接复制在"Containing Text"字段中选择的两行:Eclipse将为您转换这些行作为regexp.


Tik*_*ika 15

如果你使用正则表达式,CTRL + H确实需要两行(并且你不必自己编写正则表达式,eclipse会为你做这个).

  1. 选择你的线.
  2. 单击CTRL + H. 搜索对话框打开.如果已经选中"正则表达式",eclipse会将您搜索的两行转换为regexp,单击"搜索".如果"正则表达式"如果尚未选中",请检查并单击取消(eclipse会记住您的选择).
  3. 再次选择您的行.
  4. 单击CTRL + H. 搜索对话框打开.这次"正则表达式"已被选中.eclipse会将您搜索的两行转换为regexp,单击"搜索".

  • 我喜欢你对解决方案的描述最好,简单,快速和万无一失.日Thnx! (2认同)