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中使用方法类似。