J'essaie de remplacer tous les #include "whatever.h"
avec #include <whatever.h>
en utilisant la fonctionnalité de recherche et remplacement dans Visual Studio 2005. J'ai utilisé l'expression régulière \#include \"[a-z\.h]+\"
pour trouver l'instruction include. Mais je me demande comment cadrer la regex de remplacement.
\#include \<[a-z\.h]+\>
n'a pas fonctionné et ne fonctionnera pas; il remplace l'instruction #include "whatever.h"
avec #include <[a-z.h]+>
. Comment dois-je cadrer la regex de remplacement pour conserver whatever.h
tel quel?
Pour les versions antérieures à Visual studio 2012:
Cela fonctionne quand je fais ceci:
trouver include "{[a-zA-Z]+\.h}"
,
remplace par include <\1>
.
Les parties les plus pertinentes de votre question sont les accolades {}
Et la référence arrière \1
: \n
Des références au nième groupe indiqué par des accolades. dans l'expression de recherche.
Pour les versions Visual Studio 2012 et suivantes:
À partir de VS2012, les expressions régulières .NET Framework sont utilisées. Alors ça devrait être:
find include "([a-zA-Z]+\.h)"
,
remplace par include <$1>
.