正規表現は、テキストのパターンを見つけて置き換える簡潔で柔軟な表記法です。 特定の正規表現のセットは、[SQL Server Management Studio の検索と置換] ダイアログ ボックスの [検索] フィールドで使用できます。
正規表現を使用して検索するには
QuickFind、FindinFiles、Quick Replace、または Replace in Files 作業中に、[検索するフィールド]で正規表現の使用を有効にするには、[検索オプション]の[使用]オプションを選択し、[正規表現]を選択します。
[検索] フィールドの横にある三角形の [参照リスト] ボタンが使用可能になります。 最もよく使用される正規表現の一覧を表示するには、このボタンをクリックします。 式ビルダーから項目を選択すると、検索条件文字列に挿入されます。
注
検索する内容で使用できる正規表現と、Microsoft .NET Framework プログラミングで使用できる正規表現の構文には違いがあります。 たとえば、[ 検索と置換] では、 {} 中かっこ表記がタグ付けされた式に使用されます。 そのため、式 "zo{1}" は、"Alonzo1" と "Gonzo1" のように、"zo" とそれに続くタグ 1 のすべての出現に一致します。 ただし、.NET Framework 内では、量指定子に {} 表記が使用されます。 したがって、式 "zo{1}" は、"zone" のように、"z" とそれに続く 1 つの "o" の出現をすべて照合しますが、"zoo" は一致しません。
次の表では、 参照リストで使用できる正規表現について説明します。
| 表現 | 構文 | 説明 |
|---|---|---|
| 任意の 1 文字 | . | 改行を除く任意の 1 文字に一致します。 |
| 0 個以上 | * | 前の式の 0 回以上の出現回数に一致し、可能なすべての一致を行います。 |
| 1 個以上 | + | 前の式の少なくとも 1 つの出現箇所と一致します。 |
| 行頭 | ^ | 一致文字列を行の先頭に固定します。 |
| 行末 | $ | 一致文字列を行の末尾に固定します。 |
| 単語の先頭 | < | テキストのこの時点で単語が始まる場合にのみ一致します。 |
| 単語の終わり | > | テキスト内のこの時点で単語が終了した場合にのみ一致します。 |
| 改行 | \n | プラットフォームに依存しない改行に一致します。 Replace 式で、改行を挿入します。 |
| セット内の任意の 1 文字 | [] | [] 内の任意の文字に一致します。 文字の範囲を指定するには、[a-z] のように、開始文字と終了文字をダッシュ (-) で区切って一覧表示します。 |
| セットに含まれていない任意の 1 文字 | [^...] | ^に続く文字のセットに含まれていない任意の文字と一致します。 |
| 又は | | | OR 記号 (|) の前または後の式のいずれかと一致します。 主にグループ内で使用されます。 たとえば、(スポンジ|泥) 浴は"スポンジ浴"と"泥浴"に一致します。 |
| 逃げる | バックスラッシュ (\) の後に続く文字をリテラルとして照合します。 これにより、{ や ^などの正規表現表記で使用される文字を検索できます。 たとえば、\^ は ^ 文字を検索します。 | |
| タグ付き式 | {} | 囲まれている式でタグ付けされたテキストを照合します。 |
| C/C++ 識別子 | :i | 式 ([a-zA-Z_$][a-zA-Z0-9_$]* ) と一致します。 |
| 引用符で囲まれた文字列 | :q | 以下の式に一致します: (("[^"]*")|('[^']*')). |
| スペースまたはタブ | :b | 空白文字またはタブ文字に一致します。 |
| 整数 | :z | 式 ([0-9]+) と一致します。 |
検索および置換操作で有効なすべての正規表現の一覧が、参照リストに表示できる時間を超えています。 次のいずれかの正規表現を Find 文字列に挿入することもできます。
| 表現 | 構文 | 説明 |
|---|---|---|
| 最小限 - 0 個以上 | @ | 前の式の 0 回以上の出現回数に一致し、可能な限り少数の文字と一致します。 |
| 最小 - 1 つ以上 | # | 前の式の 1 つ以上の出現箇所に一致し、可能な限り少数の文字と一致します。 |
| n 回繰り返す | ^n | 前の式の n 個の出現箇所と一致します。 たとえば、[0-9]^4 は任意の 4 桁のシーケンスと一致します。 |
| グルーピング | () | 部分式をグループ化します。 |
| n 番目のタグ付きテキスト | \n |
検索式または置換式で、n 番目のタグ付き式と一致するテキストを示します。n は 1 から 9 までの数値です。 Replace 式では、\0 は一致したテキスト全体を挿入します。 |
| 右揃えフィールド | \(w,n) | Replace 式では、フィールド内の n 番目のタグ式を、幅 w 文字以上で右揃えします。 |
| 左揃えフィールド | \(-w,n) | Replace 式で、フィールド内の n 番目のタグ付き式を少なくとも w 文字幅のフィールドで左揃えします。 |
| 一致を防止する | ~(X) | 式のこの時点で X が表示されたときに一致を防ぎます。 たとえば、real~(ity) は "realty" と "realty" の "real" と一致しますが、"reality" の "real" とは一致しません。 |
| 英数字文字 | :a | 式 ([a-zA-Z0-9]) と一致します。 |
| 英字 | :c | 式 ([a-zA-Z]) と一致します。 |
| 10進数の数字 | :d | 式 ([0-9]) と一致します。 |
| 16進数の数字 | :h | 式 ([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。 |
| バックスペース | \h | Unicode U+0008。 |
| タブ | \t | タブ文字 Unicode U+0009 と一致します。 |
| Unicode 文字コード | \x#### または \u#### | Unicode 値で指定された文字 (#### が 16 進数) と一致します。 ISO 10646 コード ポイントまたはサロゲート ペアの値を提供する 2 つの Unicode コード ポイントを使用して、Basic 多言語プレーン (つまりサロゲート) の外部の文字を指定できます。 |
次の表に、標準の Unicode 文字プロパティによる照合の構文を示します。 2 文字の省略形は、Unicode 文字プロパティ データベースに記載されているものと同じです。 これらは文字セットの一部として指定できます。 たとえば、式 [:Nd:Nl:No] は任意の種類の数字と一致します。
| 表現 | 構文 | 説明 |
|---|---|---|
| 大文字 | :Lu | 任意の 1 つの大文字と一致します。 たとえば、:Luhe は "The" と一致しますが、"the" と一致しません。 |
| 小文字 | :Ll | 小文字のいずれか 1 つに一致します。 たとえば、:Llhe は "the" と一致しますが、"The" と一致しません。 |
| タイトルケースの文字 | :Lt | 大文字と小文字を組み合わせた文字 (Nj や Dz など) と一致します。 |
| 修飾子文字 | :Lm | 前の文字の変更を示すために使用される、コンマ、十字アクセント、二重素数などの文字または句読点に一致します。 |
| 他の手紙 | : :Lo | 他の文字 (ゴシック文字 ahsa など) と一致します。 |
| 10進数の数字 | :Nd | 0 ~ 9 などの 10 進数と、その全角の等価数と一致します。 |
| 数字を表す文字 | :Nl | ローマ数字や表意数値 0 などの文字の数字と一致します。 |
| その他の数字 | :いいえ | 古い斜体番号 1 などの他の数字と一致します。 |
| 句読点を開く | :P | 角かっこや中かっこなどの開始句読点と一致します。 |
| 句読点を閉じる | ペ | 右角かっこや中かっこなどの終了句読点と一致します。 |
| 引用を始める際の句読点 | :Pi | 最初の二重引用符と一致します。 |
| 最後の引用符の句読点 | :Pf | 単一引用符と終わりの二重引用符を一致させます。 |
| ダッシュによる句読法 | :P d | ダッシュ マークと一致します。 |
| コネクタの句読点 | :パソコン | アンダースコアまたは下線マークと一致します。 |
| その他の句読点 | :Po | (,), ?, ", !, @, #, %, > *, \, (:), (;), ', and /. |
| スペース区切り記号 | :Zs | 空白を一致させます。 |
| 行区切り | :Zl | Unicode 文字 U+2028 と一致します。 |
| 段落区切り記号 | :Zp | Unicode 文字 U+2029 と一致します。 |
| 空白以外のマーク | :ミネソタ | 空白以外のマークと一致します。 |
| 結合マーク | :Mc | 結合文字を一致させる |
| 囲み記号 | :私 | 囲み記号を一致させます。 |
| 数学記号 | :Sm | +、=、~、|、 <、および >と一致します。 |
| 通貨記号 | :Sc | $ やその他の通貨記号と一致します。 |
| 修飾子記号 | :Sk | 抑揚アクセント、重アクセント、マクロンなどの修飾子記号と一致します。 |
| その他の記号 | それで | 著作権記号、pilcrow 記号、度記号など、他の記号と一致します。 |
| その他のコントロール | :Cc | 行の末尾に一致します。 |
| その他の形式 | :Cf | 双方向制御文字などの制御文字の書式設定。 |
| サロゲート | :Cs | サロゲート ペアの半分に一致します。 |
| その他のプライベート使用 | :共 | プライベート使用領域の任意の文字と一致します。 |
| その他未割り当て | :Cn | Unicode 文字にマップされない文字と一致します。 |
標準の Unicode 文字プロパティに加えて、文字セットの一部として次の追加のプロパティを指定できます。
| 表現 | 構文 | 説明 |
|---|---|---|
| アルファ | :アル | 任意の 1 文字に一致します。 たとえば、:Alhe は"The"、"then"、"reached" などの単語と一致します。 |
| 数値 | :ニュー | 任意の1桁の数字に一致します。 |
| 句読点 | :P u | ?、@、'など、任意の 1 つの句読点に一致します。 |
| 空白 | :Wh | 組版用スペースや表意文字スペースを含む、すべての種類の空白と一致します。 |
| Bidi | :Bi | アラビア語やヘブライ語などの右から左のスクリプトの文字と一致します。 |
| ハングル | :Ha | 韓国語ハングルとジャモスの組み合わせに一致します。 |
| 平仮名 | :こんにちは | ひらがな文字と一致します。 |
| 片仮名 | :Ka | カタカナ文字と一致します。 |
| 表意文字/漢字 | :ID | 漢や漢字などの表意文字と一致します。 |