regex - Visual Studio、查找和替换、正则表达式

标签 regex visual-studio-2005 replace

我正在尝试替换所有 #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/

相关文章:

vb.net - 无法创建PDB文件

python - 替换列表列表中的值

javascript - 正则表达式至少接受一个字母字符和数字字符

c# - 在 C# 中使用正则表达式捕获字符串中的数值

regex - 在 Pandoc Markdown 输出中生成内联而不是列表样式的脚注?

regex - 通过 linq 中的部分字符串区分

c# - 自动生成类的类修饰符

c# - 如何以编程方式构造对象引用?

regex - 使用 sed 仅替换正则表达式子字符串内的内容

java - 将字符串中的所有单词集替换为其他单词集