首页 > 代码库 > Eclipse查找替换巧妙技巧用法

Eclipse查找替换巧妙技巧用法

用Eclipse时,查找替换,可能是我们经常用的工具,但大多数只是查找替换简单的单词文本(如查找替换warnings),但遇到复杂的情况时,大多数人可能就手工改了。

例如:

/*     */ public class Configuration
/*     */ {
/*     */   private List<context> contexts;
/*     */   private List<String> classPathEntries;
/*     */ 
/*     */   public Configuration()
/*     */   {
/*  41 */     this.contexts = new ArrayList();
/*  42 */     this.classPathEntries = new ArrayList();
/*     */   }
/*     */
/*     */   public void addClasspathEntry(String entry) {
/*  46 */     this.classPathEntries.add(entry);
/*     */   }
/*     */ }
</context>

在遇到上述代码时,我们能很简单的替换掉“/*     */”,但是却无法替换类似“/*  41 */”的注释。


其实,Eclipse的查找替换工具是支持正则表达式的,如图:


勾选"Regular expressions",即切换为“正则表达式”模式。

在Find输入框中输入:/\* (\s|\w)* \*/

然后替换便可一次性将所有“/*     */”及其中间含有数字的注释替换掉。


再例如,匹配以<title>开头</title>结尾的字符串:<title>.*?</title>

匹配HTML或XML标签:<(\S+)(((\s[^<>]*)?\/>)|(\s[^>]*)?>[\s\S]*?<\/\1\s*>)


我们知道查找替换支持正则表达式后,能实现很多的查询匹配,不过需要注意的是模糊匹配时要谨慎,不然替换错了容易导致问题。

Eclipse查找替换巧妙技巧用法