クリックして評価とフィードバックをお寄せください
MSDN
MSDN ライブラリ
Visual Studio 2005
Visual Studio ドキュメント
コード内での移動
検索と置換
 正規表現 (Visual Studio)

  低帯域幅での表示をオンにする
このページは次のバージョンについて記述しています。
Microsoft Visual Studio 2005/.NET Framework 2.0

その他のバージョンについては、以下の情報を参照してください。
Visual Studio
正規表現 (Visual Studio)

正規表現は、テキストのパターンを検索および置換するための、簡潔で柔軟な表記方法です。Visual Studio の [検索と置換] ウィンドウの [検索する文字列] ボックスでは、特定のセットの正規表現を使用できます。

[クイック検索]、[フォルダを指定して検索]、[クイック置換]、または [フォルダを指定して置換] の [検索する文字列] ボックスで正規表現を使用できるようにするには、[検索オプション] の [使用するアプリケーション] オプションを選択し、[正規表現] を選択します。

[検索する文字列] ボックスの横の三角形の [式ビルダ] ボタンが有効になります。このボタンをクリックすると、よく使用する正規表現の一覧が表示されます。[式ビルダ] の一覧からいずれかの項目を選択すると、その項目が [検索する文字列] ボックスの文字列に挿入されます。

Noteメモ :

[検索する文字列] ボックスの文字列に使用できる正規表現の構文と、.NET Framework プログラミングで有効な正規表現の構文は異なります。たとえば、[検索と置換] では、中かっこ ({}) はタグ付き正規表現に使用されます。したがって、zo{1} という正規表現は、Alonzo1Gonzo1 のように、その後にタグ 1 が続く zo のすべての繰り返しに一致します。これに対し、.NET Framework での中かっこ ({}) は、量指定子を表します。つまり、zo{1} という正規表現は、zone のようにその後に o が 1 つだけ続く z のすべての繰り返しに一致しますが、zoo には一致しません。

[式ビルダ] で使用できる正規表現を次に示します。

表現 構文 説明

任意の文字

.

改行を除く任意の 1 文字を検索します。

0 以上

*

直前の正規表現の 0 回以上の繰り返しを検索します。一致する文字列の長さを最大限にします。

1 以上

+

直前の正規表現の 1 回以上の繰り返しを検索します。

行頭

^

行頭を検索します。

行末

$

行末を検索します。

最初の単語

<

テキスト内のこの記号で指定する位置で始まる単語を検索します。

最後の単語

>

テキスト内のこの記号で指定する位置で終わる単語を検索します。

改行

\n

プラットフォーム固有の改行を検索します。[置換] の正規表現では、改行が挿入されます。

セット内の 1 文字

[]

[] 内の文字のいずれかを検索します。文字の範囲を指定するには、[a-z] のように、開始と終了の文字をハイフン (-) でつなぎます。

セット外の 1 文字

[^...]

カレット (^) の後の文字の集合に含まれない文字を検索します。

Or

|

OR 記号 (|) の前後いずれかの正規表現を検索します。多くの場合、グループ内で使用されます。たとえば、(sponge|mud) bath は "sponge bath" または "mud bath" を検索します。

エスケープ特殊文字

\

Matches the character that follows the backslash (\) as a literal.左中かっこ ({) やキャレット (^) など、正規表現で使用される文字を検索できます。たとえば、\^ はカレット (^) を検索します。

タグ付き正規表現

{}

かっこ内の正規表現でタグ付けされた文字列を検索します。

C/C++ 識別子

:i

識別子 ([a-zA-Z_$][a-zA-Z0-9_$]*) を検索します。

引用符で囲まれた文字列

:q

引用符で囲まれた任意の文字列 (("[^"]*")|('[^']*')) を検索します。

スペースまたはタブ

:b

空白文字またはタブ文字を検索します。

整数

:z

符号なしの 10 進整数 
([0-9]+) を検索します。

[検索] および [置換] で有効な正規表現はたくさんあり、そのすべてが [式ビルダ] に表示されるわけではありません。[検索] の文字列には、次の正規表現も挿入できます。

表現 構文 説明

最短 - 0 回以上の繰り返し

@

直前の正規表現の 0 回以上の繰り返しを検索します。一致する文字列の長さを最小限にします。

最短 - 1 回以上の繰り返し

#

直前の正規表現の 1 回以上の繰り返しを検索します。一致する文字列の長さを最小限にします。

n 回繰り返す

^n

直前の正規表現の n 回の繰り返しを検索します。たとえば、[0-9]^4 は任意の 4 桁の数字を検索します。

グループ化

()

一連の表現をまとめてグループ化できるようにします。2 つの異なる表現を 1 度に検索する場合、グループ化表現を使用して結合できます。

たとえば、- [a-z][1-3] または - [1-10][a-z] と一致するものを検索する場合、これらを結合して ([a-z][1-3]) | ([1-10][a-z]) にすることができます。

n 番目のタグ付き正規表現

\n

[検索] または [置換] の正規表現では、n 番目のタグ付き正規表現と一致する文字列を示します。n は 1 ~ 9 の数字です。

[置換] の正規表現では、\0 によって、一致した文字列全体が挿入されます。

右揃え

\(w,n)

[置換] の正規表現で、n 番目のタグ付き正規表現を、少なくとも w 文字分の幅があるフィールドで右揃えします。

左揃え

\(-w,n)

[置換] の正規表現で、n 番目のタグ付き正規表現を、少なくとも w 文字分の幅があるフィールドで左揃えします。

対象外

~(X)

文字列でこの位置に X がある場合は検索されません。たとえば、real~(ity) では、"realty" や "really" の "real" は検索されますが、"reality" の "real" は検索されません。

英数字

:a

英数字 
([a-zA-Z0-9]) を検索します。

英文字

:c

英文字 
([a-zA-Z]) を検索します。

10 進数

:d

数字 
([0-9]) を検索します。

16 進数

:h

16 進数 
([0-9a-fA-F]+) を検索します。

有理数

:n

数値 (([0-9]+.[0-9]*)|([0-9]*.[0-9]+)|([0-9]+)) を検索します。

英字文字列

:w

英字文字列 
([a-zA-Z]+) を検索します。

エスケープ特殊文字

\e

Unicode U+001B

ビープ音

\g

Unicode U+0007

Backspace

\h

Unicode U+0008

タブ

\t

タブ文字 (Unicode の U+0009) を検索します。

Unicode 文字

\x#### ??? \u####

#### が 16 進数の場合は、Unicode 値で指定される文字を検索します。ISO 10646 コード ポイント、またはサロゲート ペアの値を生成する 2 つの Unicode コード ポイントを使用して、Basic Multilingual Plane (サロゲート) の外部で文字を指定できます。

次の表には、標準の Unicode 文字プロパティによる検索の構文を示します。2 文字の略号は、Unicode 文字プロパティ データベースの略号と同じです。これらの略号は、文字セットの一部として指定できます。たとえば、正規表現 [:Nd:Nl:No] では、任意の数字が検索されます。

表現 構文 説明

大文字

:Lu

任意の大文字 1 つを検索します。たとえば、:Luhe では、"The" は検索されますが、"the" は検索されません。

小文字

:Ll

任意の小文字 1 つを検索します。たとえば、:Llhe では、"the" は検索されますが、"The" は検索されません。

大文字と小文字の組み合わせ

:Lt

Nj や Dz など、大文字と小文字を 1 つずつ組み合わせた文字を検索します。

修飾子文字

:Lm

コンマ、クロス アクセント、ダブル プライムなど、直前の文字に対する修飾を示す文字や区切り記号を検索します。

その他の文字

:Lo

ゴート文字の ahsa など、その他の文字を検索します。

10 進数

:Nd

0 ~ 9 などの 10 進数を検索します。全角も検索します。

文字数値

:Nl

ローマ数字や、ゼロを表す表意文字など、文字で表される数字を検索します。

その他の数字

:No

オールド イタリックの数字の 1 など、その他の数字を検索します。

左かっこ

:Ps

左角かっこ ([) や左中かっこ ({) などの、左かっこを検索します。

右かっこ

:Pe

右角かっこ (]) や右中かっこ (}) などの、右かっこを検索します。

最初の二重引用符

:Pi

最初の二重引用符を検索します。

最後の二重引用符

:Pf

一重引用符および最後の二重引用符を検索します。

ダッシュ符号

:Pd

ダッシュ符号を検索します。

接続符号

:Pc

アンダースコアまたは下線を検索します。

その他の符号

:Po

(、)、?、"、!、@、#、%、&、*、\、(:)、(;)、'、および / を検索します。

空白区切り

:Zs

空白を検索します。

行区切り

:Zl

Unicode 文字 U+2028 を検索します。

段落区切り

:Zp

Unicode 文字 U+2029 を検索します。

非空白記号

:Mn

非空白記号を検索します。

連結記号

:Mc

連結記号を検索します。

囲み記号

:Me

囲み記号を検索します。

数学記号

:Sm

+、=、~、|、<、および > を検索します。

通貨記号

:Sc

$ などの通貨記号を検索します。

修飾子記号

:Sk

曲アクセント記号、抑音符、長音記号など、アクセント記号を検索します。

その他の記号

:So

著作権記号、段落記号、度記号など、その他の記号を検索します。

その他の制御

:Cc

TAB や NEWLINE などの Unicode 制御文字を検索します。

書式指定制御文字

:Cf

双方向制御文字などの書式指定制御文字。

サロゲート

:Cs

サロゲート ペアの片方を検索します。

個人用領域の任意の文字

:Co

個人用領域の任意の文字を検索します。

他の未割り当て

:Cn

Unicode 文字に割り当てられていない文字を検索します。

標準の Unicode 文字プロパティの他に、次の追加プロパティを文字セットの一部として指定できます。

表現 構文 説明

Alpha

:Al

任意の 1 文字を検索します。たとえば、:Alhe は "The"、"then"、"reached" などの単語を検索します。

数字

:Nu

任意の数字を 1 つ検索します。

句読点

:Pu

?、@、' などの、任意の区切り記号 1 つを検索します。

空白

:Wh

すべての種類の空白を検索します。印刷用や表意文字の空白も含みます。

Bidi

:Bi

アラビア語やヘブライ語など、右から左に記述する文字を検索します。

ハングル

:Ha

韓国語のハングルおよびジャモの組み合わせを検索します。

ひらがな

:Hi

ひらがなを検索します。

カタカナ

:Ka

カタカナを検索します。

表意文字

:Id

ハングル文字や漢字などの表意文字を検索します。

コミュニティ コンテンツ   コミュニティ コンテンツとは
新しいコンテンツの追加 RSS  注釈
Processing
© 2009 Microsoft Corporation. All rights reserved. 使用条件  |  商標  |  プライバシー
Page view tracker