VS2017 查找替换(正则表达式)

有时会出现如下场景:

旧代码:

ClassA* a1 = new ClassA();
ClassB* b1 = new ClassB();
ClassC* c1 = new ClassC();
ClassD* d1 = new ClassD();

需要更新成智能指针,新代码:

std::shared_ptr<ClassA> a1 = std::make_shared<ClassA>();
std::shared_ptr<ClassB> b1 = std::make_shared<ClassB>();
std::shared_ptr<ClassC> c1 = std::make_shared<ClassC>();
std::shared_ptr<ClassD> d1 = std::make_shared<ClassD>();

如果以上代码需要一个一个改,比较麻烦,且容易出错。

那么...Ctrl+F,勾选适用正则表达式

查找部分填入:

([\w]+)\*\s+([\S\s]+)?new\s+[\w]+\(\);

替换部分填入

std::shared_ptr<$1> $2 std::make_shared<$1>();

注意,以上必须勾选使用正则表达式选项,否则无法查找到!

然后进行单个替换,即能完成该工作。

知识点:

查找部分中,括号表示可以在替换时候进行引用

替换部分中,$符号代表引用,后面的数字即引用的索引

以上全部均是个人已有一定正则表达式基础的理解,只做经验的记录。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值