在vs2013中使用正则表达式查找和替换文本内容

        我们有的时候需要替换代码中的某些内容,因为替换的内容“不一致”,所以不能简单的使用一个replace搞定。这里有几个解决方法,核心思想是一致的,程序员不要做体力活,能交给程序或脚本的就交给程序或脚本来完成。

        我先提一个替换的需求,这个在实际工作中是很常见的。比如

        把所有的toke[TOKEN_ENUM_ATTACK], token[TOKEN_ENUM_MAGIC]这样的字符串替换为TOKEN_ENUM_ATTACK, TOKEN_ENUM_MAGIC,也就是说去掉token[],直接使用枚举值。

       再比如,把所有的"字符串"替换为_T("字符串")。这个很常见,涉及到unicode和ansi的时候必然要被这东西恶心一遍。

       替换方法:

1、使用脚本。这个最灵活,当然成本相对来说也有些大。我有点害怕一不留神脚本写错了就把我的所有文件都干掉了。

2、使用高级些的文本编辑器。比如sublime text就支持正则表达式的替换。你需要先把文件夹加入到workspace中。

3、vs自带正则表达式的查找和替换。由于vs2013跟之前语法略有差异,网上很多都是旧的,所以这里重点介绍下。



如上图所示,勾上 Use Regular Expressions就可以使用了,非常简单。如果正则表达式还不太熟,可以点击文本框旁边的那个(a)+按钮。它列出了所有常用的表达式形式。

这里使用了捕获相关,网上常见的说法是使用大括号,但是在vs2013中是使用小括号来定义捕获内容,这个捕获规则是跟python一致的。比如 token\[(.*)\]就是把中括号内部的东西全部捕获。而替换的时候可以使用$1来代表捕获内容。于是上面的替换就代表去除token[],保留中括号内部的文字。


评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值