首页 > 代码库 > sublime_中使用正则表达式查找替换

sublime_中使用正则表达式查找替换

原文地址:

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之后出现这个

技术分享
 这个图标就表示开启了正则匹配


技术分享
作者说让他满意的事是你可以立即看到你匹配的模式,其实这是开启了highlight matches的功能,就是第一个图的最后一个图标

技术分享

(这张图就做法就让我有点迷茫了,不过大致还是懂一点,是我正则还没完全学好的缘故,倒是不难理解。)我们要取得每行的第一个数字,并要在它后面加上mm,其余的全删掉,那么第一组匹配的可以用$1选择,第二组用$2如此,,那我们就把他们替换成$1mm。(我有点不理解他怎么区分第一组跟第二组的,貌似是表达式里面的括号的作用,这个我还需要再学一下哈)

技术分享

然后就这样低调的搞定了。可是他不甘心,还想做点别的,比如加点描述,想让别人知道每个数字代表什么

技术分享
于是替换模式变成这样

技术分享

结果就成了这样,作者很高兴,,,好吧看来的确是用()来区别第一第二组的,但我还是用点不明白,先放一下吧,我还有别的事要干呢


sublime_中使用正则表达式查找替换