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


143

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するにはどうすればよいですか?

回答:


225

バージョンについてはの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>


5
これは、この機能に括弧を使用する標準の正規表現構文とは異なるようです。
ゴブリンの錬金術師、

44
Visual Studio 2012では異なります。\ 1の代わりに$ 1を使用する必要があります。()が{}に置き換わりました。今、他のみんなとより一貫性があります。 msdn.microsoft.com/en-us/library/2k3te2cs(v=vs.110).aspx
oillio 2013

1
[a-zA-Z0-9_]より多くのファイル名をキャプチャするために使用します。
Reinier Torenbeek、2018

1

大文字と小文字を使用した正規表現では、大文字と小文字の区別と正規表現の両方を選択する必要があります。それ以外の場合、[az]は機能しません。ここに画像の説明を入力してください

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.