この記事は機械翻訳されています。英語版の記事を表示するには、[英語] のチェック ボックスをオンにしてください。また、テキストにマウス ポインターを合わせると、ポップアップ ウィンドウに英語のテキストを表示することもできます。
翻訳
英語

RegexOptions 列挙型

 

公開日: 2016年10月

正規表現オプションを設定するために使用する列挙値を提供します。

この列挙型には、メンバー値のビットごとの組み合わせを許可する FlagsAttribute 属性があります。

名前空間:   System.Text.RegularExpressions
アセンブリ:  System (System.dll 内)

[FlagsAttribute]
public enum RegexOptions

メンバー名説明
Compiled

正規表現をコンパイルしてアセンブリを作成することを指定します。 これにより実行速度は速くなりますが、起動にかかる時間は長くなります。 この値を割り当てられませんが、 Options プロパティを呼び出すときに、 CompileToAssembly メソッドです。 詳細については、「コンパイルされた正規表現」」セクションを参照してください、 正規表現のオプション トピックです。

CultureInvariant

言語の違いが無視されるように指定します。 詳細については、「比較を使用して、インバリアント カルチャ」」セクションを参照してください、 正規表現のオプション トピックです。

ECMAScript

式の ECMAScript 準拠の動作を有効にします。 この値は、組み合わせでのみ使用できます、 IgnoreCase, 、Multiline, 、および Compiled 値。 この値を他の値と組み合わせて使用すると、例外が発生します。

詳細については、 RegexOptions.ECMAScript オプションの「ECMAScript 一致の動作」を参照してください、 正規表現のオプション トピックです。

ExplicitCapture

明示的に名前または番号を指定された (?<name>...) の形式のグループだけが有効なキャプチャであることを指定します。 これにより、不恰好な表現 (?:...) を使用しなくても、名前のないかっこが非キャプチャ グループとして機能するようになります。 詳細については、の「明示的なキャプチャのみ」セクションを参照してください、 正規表現のオプション トピックです。

IgnoreCase

検索時に大文字と小文字を区別しないことを指定します。 詳細については、「Case-Insensitive に一致する」のセクションを参照して、 正規表現のオプション トピックです。

IgnorePatternWhitespace

パターンからエスケープが解除された空白を削除し、# でマークされたコメントを有効にします。 ただし、この値に影響を与えるやしませんでの空白文字、数値、または個々 の先頭を示すトークンを削除します。 詳細については、「Ignore White Space」を参照してください、 正規表現のオプション トピックです。

Multiline

複数行モードを指定します。 ^ と $ の意味を変更して、文字列全体の先頭と末尾だけでなく、任意の行の先頭と末尾にもそれぞれが一致するようにします。 詳細については、「複数行モード」を参照してください、 正規表現のオプション トピックです。

None

オプションが何も設定されないことを指定します。 正規表現エンジンの既定の動作の詳細については、「既定のオプション」」セクションを参照してください、 正規表現のオプション トピックです。

RightToLeft

検索が左から右ではなく右から左になされるように指定します。 詳細については、「右から左モード」」セクションを参照してください、 正規表現のオプション トピックです。

Singleline

単一行モードを指定します。 ドット (.) の意味を変更します。 そのためすべての文字 (\n を除くすべての文字) ではなくと一致します。 詳細については、「単一行モード」を参照してください、 正規表現のオプション トピックです。

A RegexOptions の次のメンバーにパラメーターとして値を提供できる、 Regex クラス。

A RegexOptions へのパラメーターとして値を指定することも、 RegexCompilationInfo コンス トラクター、またはそれに直接割り当てられることができます、 Options プロパティです。 その結果、 RegexCompilationInfo への呼び出しでオブジェクトを使用して、 CompileToAssembly メソッドです。

メンバーによって提供されるいくつかのオプション、 RegexOptions 列挙型 (で具体的には、その RegexOptions.ExplicitCapture, 、RegexOptions.IgnoreCase, 、RegexOptions.Multiline, 、および RegexOptions.Singleline メンバー) 正規表現パターンのインライン オプション文字を使用して、代わりに指定することができます。 詳細については、「正規表現のオプション」を参照してください。

次の例では、2 つの正規表現が、テキストで重複する単語を識別する、異なるインスタンス化する RegexOptions 値。 最初の正規表現は大文字です。場合に、単語が前の単語と同じかどうかを決定するときは無視されます。 2 つ目の正規表現は大文字小文字を区別します。重複するいると見なされるに正確に単語の単語と一致する必要があります。

using System;
using System.Text.RegularExpressions;

public class Test
{
    public static void Main ()
    {
        // Define a case-insensitive regular expression for repeated words.
        Regex rxInsensitive = new Regex(@"\b(?<word>\w+)\s+(\k<word>)\b",
          RegexOptions.Compiled | RegexOptions.IgnoreCase);
        // Define a case-sensitive regular expression for repeated words.
        Regex rxSensitive = new Regex(@"\b(?<word>\w+)\s+(\k<word>)\b",
          RegexOptions.Compiled);

        // Define a test string.        
        string text = "The the quick brown fox  fox jumped over the lazy dog dog.";

        // Find matches using case-insensitive regular expression.
        MatchCollection matches = rxInsensitive.Matches(text);

        // Report the number of matches found.
        Console.WriteLine("{0} matches found in:\n   {1}", 
                          matches.Count, 
                          text);

        // Report on each match.
        foreach (Match match in matches)
        {
            GroupCollection groups = match.Groups;
            Console.WriteLine("'{0}' repeated at positions {1} and {2}",  
                              groups["word"].Value, 
                              groups[0].Index, 
                              groups[1].Index);
        }
        Console.WriteLine();

        // Find matches using case-sensitive regular expression.
        matches = rxSensitive.Matches(text);

        // Report the number of matches found.
        Console.WriteLine("{0} matches found in:\n   {1}", 
                          matches.Count, 
                          text);

        // Report on each match.
        foreach (Match match in matches)
        {
            GroupCollection groups = match.Groups;
            Console.WriteLine("'{0}' repeated at positions {1} and {2}",  
                              groups["word"].Value, 
                              groups[0].Index, 
                              groups[1].Index);
        }
    }
}
// The example produces the following output to the console:
//       3 matches found in:
//          The the quick brown fox  fox jumped over the lazy dog dog.
//       'The' repeated at positions 0 and 4
//       'fox' repeated at positions 20 and 25
//       'dog' repeated at positions 50 and 54
//       
//       2 matches found in:
//          The the quick brown fox  fox jumped over the lazy dog dog.
//       'fox' repeated at positions 20 and 25
//       'dog' repeated at positions 50 and 54

ユニバーサル Windows プラットフォーム
8 以降で使用可能
.NET Framework
1.1 以降で使用可能
ポータブル クラス ライブラリ
サポート対象: 移植可能 .NET プラットフォーム
Silverlight
2.0 以降で使用可能
Windows Phone Silverlight
7.0 以降で使用可能
Windows Phone
8.1 以降で使用可能
トップに戻る
表示: