Regex.MatchTimeout プロパティ
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
現在のインスタンスのタイムアウト間隔を取得します。
public:
property TimeSpan MatchTimeout { TimeSpan get(); };
public TimeSpan MatchTimeout { get; }
member this.MatchTimeout : TimeSpan
Public ReadOnly Property MatchTimeout As TimeSpan
プロパティ値
RegexMatchTimeoutExceptionがスローされるまでのパターン マッチング操作で経過できる最大時間間隔。タイムアウトが無効になっている場合はInfiniteMatchTimeout。
注釈
MatchTimeout プロパティは、操作がタイムアウトする前に、Regex インスタンスが 1 つの一致する操作を実行するためのおおよその最大時間間隔を定義します。正規表現エンジンは、タイムアウト間隔が経過した後、次のタイミング チェック中にRegexMatchTimeoutException例外をスローします。 これにより、正規表現エンジンは、過剰なバックトラッキングを必要とする入力文字列を処理できなくなります。 詳細については、「正規表現の バックトラッキング と ベスト プラクティス」を参照してください。
このプロパティは読み取り専用です。 Regex(String, RegexOptions, TimeSpan) コンストラクターを呼び出すことによって、個々のRegex オブジェクトの値を明示的に設定できます。また、SetData(String, Object) メソッドを呼び出し、"REGEX_DEFAULT_MATCH_TIMEOUT" プロパティにTimeSpan値を指定することで、アプリケーション ドメイン内のすべてのRegex一致操作に対してその値を設定できます。
タイムアウト間隔を明示的に設定しない場合は、 InfiniteMatchTimeout 既定値が使用され、一致する操作はタイムアウトしません。