web-dev-qa-db-ja.com

Visual Studio、検索と置換、正規表現

Visual Studio 2005の検索と置換機能を使用して、すべての#include "whatever.h"#include <whatever.h>に置き換えようとしています。正規表現\#include \"[a-z\.h]+\"を使用してincludeステートメントを見つけました。しかし、私は正規表現を置換する方法を疑問に思っています。

\#include \<[a-z\.h]+\>は機能せず、機能しません。ステートメント#include "whatever.h"#include <[a-z.h]+>に置き換えます。 whatever.hをそのまま保持するために、置換正規表現をどのようにフレーミングしますか?

130
bdhar

バージョンの場合beforeVisual studio 2012:
これを行うと動作します:
find include "{[a-zA-Z]+\.h}"
include <\1>に置き換えます。
質問に最も関連する部分は、中括弧{}および後方参照\1\n検索で中括弧で示されたn番目のグループへの参照です表現。

Visual Studio 2012以降のバージョンの場合:
VS2012 .NET Frameworkで始まる正規表現が使用されます。したがって、次のようになります。
find include "([a-zA-Z]+\.h)"
include <$1>に置き換えます。

209
Miel