VisualStudio,查找和替换,正则表达式

我试图使用 VisualStudio2005中的查找和替换功能将所有 #include "whatever.h"替换为 #include <whatever.h>。我使用正则表达式 \#include \"[a-z\.h]+\"查找 include 语句。但是我想知道替换正则表达式的框架是怎样的。

\#include \<[a-z\.h]+\>不起作用,也不会起作用; 它将语句 #include "whatever.h"替换为 #include <[a-z.h]+>。我应该如何构建替换正则表达式来保持 whatever.h的原样?

106513 次浏览

对于版本 之前 Visual Studio 2012:
当我这样做的时候,它起作用了:
找到 include "{[a-zA-Z]+\.h}",
include <\1>代替。
对于您的问题,最相关的部分是大括号 {}和反向引用 \1: \n,后者引用搜索表达式中的大括号表示的不 h 组。

视觉工作室2012及以上版本:
从 VS2012.NETFramework 开始使用正则表达式:
找到 include "([a-zA-Z]+\.h)",
include <$1>代替。

您需要为带大小写的正则表达式选择 MatchCase 和正则表达式。 否则[ a-z ]不起作用

简短的说法也是可行的:

Short version

Https://regex101.com/r/vw7rbh/1

这里是我的用例,我需要像这样找到所有的 html 注释

<!--begin::Info-->
<!--End::Info-->

这是我用过的

((< ! —— . + ? —— >) | (’. + ?’))

我希望它能对某些人有所帮助