我正在尝试替换所有 #include "whatever.h"
与 #include <whatever.h>
使用 Visual Studio 2005 中的查找和替换功能。我使用了正则表达式 \#include \"[a-z\.h]+\"
找到包含语句。但我想知道如何构建替换正则表达式。
\#include \<[a-z\.h]+\>
没有工作,也不会工作;它取代了语句 #include "whatever.h"
与 #include <[a-z.h]+>
。我该如何构建替换正则表达式以保留 whatever.h
原来如此?
最佳答案
对于 Visual studio 2012 之前的版本:
当我这样做时它起作用了:
查找include "{[a-zA-Z]+\.h}"
,
替换为 include <\1>
.
与您的问题最相关的部分是花括号 {}
和背面引用\1
:\n
对搜索表达式中用大括号指示的第 n 个组的引用。
对于 Visual studio 2012 及更高版本:
从 VS2012 开始,使用 .NET Framework 正则表达式。所以应该是:
查找include "([a-zA-Z]+\.h)"
,
替换为 include <$1>
.
关于regex - Visual Studio、查找和替换、正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3147096/