博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
VS2010 正则批量替换头文件路径
阅读量:7119 次
发布时间:2019-06-28

本文共 746 字,大约阅读时间需要 2 分钟。

    最近在项目实践中,需要统一对工程头文件进行重构,具体要求是,将之前 #include “../../abc/def.h” 类似的头文件引用路径 替换为#include “def.h” 之类的。由于工程文件很多,如果全部手动来一个一个的替换,显然是不现实的,这就需要利用正则表达式来批量替换头文件路径。

任务背景

        针对项目中 多种多样的头文件包含路径 ,有 ./abc.h ,有 .\abc.h,有 ..\abc.h,有..\..\abc.h之类的多种多样的头文件包含风格,需要统一风格,更改为 #include “abc.h”这种方式。

解决思路

        整体采用正则全局替换的方法,针对一些在不同物理目录下有相同文件名包含的情况,要特别处理。例如,在 Def目录和Comm目录下,都有 abc.h头文件,在这种情况下,如果对应头文件包含路径为 #include “Def/abc.h”,正则替换会将其改为 #include “abc.h”,那么,有可能编译器会去Comm目录下面去找abc.h,而不是原来的Def目录,这就不是我们想要的结果。发生这种情况的原因是,设置VS头文件搜索路径时,有先后顺序的,这个先后顺序由自用户自定义顺序来决定,具体设置位置如下图:

  

      下面来介绍,针对一般情况下的头文件路径替换,我的开发环境是VS2010,以下介绍的方法,仅在2010上面测试验证过,不同版本的VS正则有可能有区别,在此仅供参考。

     为了避免正则替换掉程序正文中可能出现的字符串,需要开头匹配#include,这是非常重要的,我就是因为之前没有这样做,采用 “../{.*}/{.*}”正则来替换,结果修改程序正文的字符串,后续的查找修正非常繁琐。

    

    具体的替换方法,在上图中,已经写的很详细,可以参考

    。

转载地址:http://zpiel.baihongyu.com/

你可能感兴趣的文章
MYSQLmy-innodb-heavy-4G.cnf配置文件注解
查看>>
HTML5 Audio/Video 标签,属性,方法,事件汇总
查看>>
Android 学习笔记【基础扫盲篇】
查看>>
shiro filter
查看>>
重新排列数字使其刚好比当前值大 Next Greater Element III
查看>>
tomcat虚拟子目录设置
查看>>
C++中sizeof详解
查看>>
elasticsearch集群部署
查看>>
我的友情链接
查看>>
Exchange 2010 OWA更改过期密码
查看>>
我的友情链接
查看>>
Programming in Scala (Second Edition) 读书笔记12 Trais
查看>>
国内首家VR虚拟现实主题公园即将在北京推出
查看>>
建设工程安全生产管理条例
查看>>
python 微信公众号-回调模式验证url
查看>>
适合Web服务器的iptables规则
查看>>
如何安装和配置打印服务器之一:安装打印服务器
查看>>
Centos 7上启动 vsftp报错处理
查看>>
我的友情链接
查看>>
思科路由器 DHCP配置
查看>>