Notepad++的查找替換功能十分友善,一般情況下用基本的功能即可滿足需求,但有時候替換的字元串比較複雜,就可能用到正規表達式替換,最近就遇到了一個這樣的例子,場景可以簡單抽象如下:
move sourcefile1 destfile1
move sourcefile2 destfile2
move sourcefile3 destfile3
move sourcefile4 destfile4
move sourcefile5 destfile5
move sourcefile6 destfile6
有如上所示的文本,需要将其替換為:
move destfile1 sourcefile1
move destfile2 sourcefile2
move destfile3 sourcefile3
move destfile4 sourcefile4
move destfile5 sourcefile5
move destfile6 sourcefile6
由于每行字元串中有變化的數字,而且字元串的順序被打亂,是以不能簡單地進行替換,但用正規表達式就很友善:
正規表達式中的\d+是對數字進行比對,替換目标中的$1和$2是比對的子串變量,分别表示第一個比對的數字和第二個比對的數字,由于Sublime的正規表達式也是采用标準的 PCRE (Perl) syntax,是以在Sublime中使用方法類似。
更為具體的說明可參考官方文檔:
Note++的正規表達式替換說明
Sublime的正規表達式說明