標籤:java eclipse Regex 尋找替換
用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的尋找替換工具是支援Regex的,
勾選"Regular expressions",即切換為“Regex”模式。
在Find輸入框中輸入:/\* (\s|\w)* \*/
然後替換便可一次性將所有“/* */”及其中間含有數字的注釋替換掉。
再例如,匹配以<title>開頭</title>結尾的字串:<title>.*?</title>
匹配HTML或XML標籤:<(\S+)(((\s[^<>]*)?\/>)|(\s[^>]*)?>[\s\S]*?<\/\1\s*>)
我們知道尋找替換支援Regex後,能實現很多的查詢匹配,不過需要注意的是模糊比對時要謹慎,不然替換錯了容易導致問題。
Eclipse尋找替換巧妙技巧用法