使用notepad++删除webrtc中的所有相关的vcxproj文件中有关ninja属性字段的定义

    由于我下载的webrtc生成的工程师ninja-vs类型的工程,导致能够使用vs2015编辑器来编辑webrtc代码,但是工程的编辑器默认使用的是ninja而不是vs2015,这也就导致我这个属性vs2015而对ninja一窍不通的真的蛋疼,使用vs的方式编写的代码经常因为无法被识别而导致ninja的编译错误,于是下定决心要将自己的webrtc代码前部修改为vs工程,也就是说使用vs2015来编译!

    首先,的下载notepad++,本次的修改vcxproj的修改数量有几百个,因此一个一个手动去修改那真是不科学,即使那样做能够达到目的但是我是很不屑与那样做的。这个时候就需要使用到正则表达式了,在notepad++中使用正确的 正则表达式就可以操作你想要的文字的内容。而本次删除所有相关vcxproj 中的ninja属性的相关行,我是先将拥有ninja属性的那行文本全部删除,对应的正则表达式为“^.*ninja.*$”,(正则表达式是双引号中间的字符串,之后的类似)在notepad++中使用查找指令,然后选择替换操作,就能将包含有ninja属性的所在行删除掉了,但是改行只是为空白而已,如果你不想留下这些空白行,那么值使用正则表达式“^(\s*)\r\n”,替换编辑框中留空,然后选择file replace all ,你再重新打开那些目标文件,可以发现,那些空白行都消失了。

-------------------------------------------------------------------------------------------

    正则表达式标识空行在不同的操作系统下会有些不同,根据文档格式(windows, mac, linux行尾符)不同 将其中的\r\n替换成不同行尾符

windows: ^(\s*)\r\n

linux: ^(\s*)\n

mac: ^(\s*)\r (没用过mac,待确认)

-----------------------------------------------------------------
    现在为了比较容易删除类似xml闭合标签及其之间的内容,正则表达式类似如下"<([(Target Name="Clean")(Target Name="Clean")].*)>(\r\n\s).*</Target>",  此正则表达式将会从目标文件中删除类似于这种类型的标签:
<Target Name="Build">
</Target>
<Target Name="Clean">
</Target>
发现效果还不错,其实我这个表达式可能写得复杂了,但是高手们可以精简。



发布了47 篇原创文章 · 获赞 17 · 访问量 11万+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章