原文地址:
http://frontmag.no/artikler/utvikling/regex-search-and-replace-sublime-text-2
我只是做下翻译(呃,简单理解下就好,我六级还没过呢)
正则的查找替换是st2内置的,不用装插件了
那,原文中是例子:
10x620x580mm
10x620x580mm
11x620x2390mm
11x620x2390mm
11x620x3050mm
...
作者的意图是想取得每行的第一个数字,然后加上mm,比如第一行,要变成10mm(就是这样啦,他遇到的情境是在excel里,这里就不考虑实用性了)
(查找的话就在st里面用ctrl+f,如果要替换的话就用ctrl+h)
ctrl+h之后出现这个
text2中使用正则表达式查找替换" title="sublime text2中使用正则表达式查找替换">
这个图标就表示开启了正则匹配
text2中使用正则表达式查找替换" title="sublime text2中使用正则表达式查找替换">
作者说让他满意的事是你可以立即看到你匹配的模式,其实这是开启了highlight matches的功能,就是第一个图的最后一个图标
text2中使用正则表达式查找替换" title="sublime text2中使用正则表达式查找替换">
(这张图就做法就让我有点迷茫了,不过大致还是懂一点,是我正则还没完全学好的缘故,倒是不难理解。)我们要取得每行的第一个数字,并要在它后面加上mm,其余的全删掉,那么第一组匹配的可以用$1选择,第二组用$2如此,,那我们就把他们替换成$1mm。(我有点不理解他怎么区分第一组跟第二组的,貌似是表达式里面的括号的作用,这个我还需要再学一下哈)
text2中使用正则表达式查找替换" title="sublime text2中使用正则表达式查找替换">
然后就这样低调的搞定了。可是他不甘心,还想做点别的,比如加点描述,想让别人知道每个数字代表什么
text2中使用正则表达式查找替换" title="sublime text2中使用正则表达式查找替换">
于是替换模式变成这样
text2中使用正则表达式查找替换" title="sublime text2中使用正则表达式查找替换">
结果就成了这样,作者很高兴,,,好吧看来的确是用()来区别第一第二组的,但我还是用点不明白,先放一下吧,我还有别的事要干呢