I am trying to replace all the #include "whatever.h"
with #include <whatever.h>
using find and replace functionality in Visual Studio 2005. I used the regex \#include \"[a-z\.h]+\"
to find the include statement. But I am wondering how frame the replace regex.
\#include \<[a-z\.h]+\>
did not work and won't; it replaces the statement #include "whatever.h"
with #include <[a-z.h]+>
. How shall I frame the replace regex to retain whatever.h
as it is?
For versions before Visual studio 2012:
It works when I do this:
find
include "{[a-zA-Z]+\.h}"
,replace with
include <\1>
.The most relevant parts for your question are the curly braces
{}
and the back reference\1
:\n
references to the n'th group indicated by curly braces in the search expression.For versions Visual studio 2012 & up:
Starting with VS2012 .NET Framework regular expressions are used. So there it should be:
find
include "([a-zA-Z]+\.h)"
,replace with
include <$1>
.