Notepad++的\1是啥用來著?
\1用在被替換的運算式中,用於替換尋找的運算式中第一個匹配組,例如,你尋找abc(.*)123,替換為456\1def,標識尋找所有以abc開頭,以123結尾的字串,替換開頭的abc為456,結尾的123為def。
替換運算式中\1就表示尋找運算式中的(.*)
我現在習慣用的是emeditor
正則用的比Notepad++更順手
另外你可以試試PowerGrep
這個軟體是專門用Regex進行文本替換的,功能非常強。
這兩個軟體都是收費的,不過有破解版
本人愚鈍,舉個例子。
Sample1:
來源:
abcaaa123
abcbbb123
abcccc123
abcddd123
尋找目標:abc(.*)123
替換目標:456\1def
結果:
456aaadef
456bbbdef
456cccdef
456ddddef
Sample2:
來源:
int gdqlxbhindex
int gdqlxmcindex
int qshydlindex
int qshzdydfhindex
int wgdlindex
int wgzdfhindex
尋找目標:int (.*)index
替換目標:row.getCell\(\1index\).setText\(String.valueOf\(item.get\("\1"\)\)\);
結果:
row.getCell(gdqlxbhindex).setText(String.valueOf(item.get("gdqlxbh")));
row.getCell(gdqlxmcindex).setText(String.valueOf(item.get("gdqlxmc")));
row.getCell(qshydlindex).setText(String.valueOf(item.get("qshydl")));
row.getCell(qshzdydfhindex).setText(String.valueOf(item.get("qshzdydfh")));
row.getCell(wgdlindex).setText(String.valueOf(item.get("wgdl")));
row.getCell(wgzdfhindex).setText(String.valueOf(item.get("wgzdfh")));