Regex.MatchTimeout Regex.MatchTimeout Regex.MatchTimeout Regex.MatchTimeout Property

定義

現在のインスタンスのタイムアウト間隔を取得します。Gets the time-out interval of the current instance.

public:
 property TimeSpan MatchTimeout { TimeSpan get(); };
public TimeSpan MatchTimeout { get; }
member this.MatchTimeout : TimeSpan
Public ReadOnly Property MatchTimeout As TimeSpan

プロパティ値

RegexMatchTimeoutException がスローされる前に、パターン一致操作で経過できる最大時間間隔。タイムアウトが無効な場合は InfiniteMatchTimeoutThe maximum time interval that can elapse in a pattern-matching operation before a RegexMatchTimeoutException is thrown, or InfiniteMatchTimeout if time-outs are disabled.

注釈

MatchTimeoutのおおよその最大時間間隔を定義するプロパティをRegex操作がタイムアウトする前に、1 つの一致操作を実行するインスタンス。正規表現エンジンがスローされます、RegexMatchTimeoutExceptionタイムアウト間隔が経過した後、次のタイミング チェック中に例外。The MatchTimeout property defines the approximate maximum time interval for a Regex instance to execute a single matching operation before the operation times out. The regular expression engine throws a RegexMatchTimeoutException exception during its next timing check after the time-out interval has elapsed. これは、正規表現エンジンが過度なバックトラッ キングを必要とする入力文字列を処理することを防ぎます。This prevents the regular expression engine from processing input strings that require excessive backtracking. 詳細については、次を参照してください。バックトラッ キング正規表現に関するベスト プラクティスします。For more information, see Backtracking and Best Practices for Regular Expressions.

このプロパティは読み取り専用です。This property is read-only. その値を明示的に設定するには、個々 のRegexオブジェクトを呼び出すことによって、Regex.Regex(String, RegexOptions, TimeSpan)コンス トラクターとするすべての値を設定できますRegex照合アプリケーション ドメインで操作を呼び出すことによって、AppDomain.SetDataメソッドを提供して、TimeSpan次の例に示すように、"REGEX_DEFAULT_MATCH_TIMEOUT"プロパティの値します。You can set its value explicitly for an individual Regex object by calling the Regex.Regex(String, RegexOptions, TimeSpan) constructor; and you can set its value for all Regex matching operations in an application domain by calling the AppDomain.SetData method and providing a TimeSpan value for the "REGEX_DEFAULT_MATCH_TIMEOUT" property, as the following example illustrates.

using System;
using System.Text.RegularExpressions;

public class Example
{
   public static void Main()
   {
      AppDomain domain = AppDomain.CurrentDomain;
      // Set a timeout interval of 2 seconds.
      domain.SetData("REGEX_DEFAULT_MATCH_TIMEOUT", TimeSpan.FromSeconds(2));
      Object timeout = domain.GetData("REGEX_DEFAULT_MATCH_TIMEOUT");
      Console.WriteLine("Default regex match timeout: {0}",
                         timeout == null ? "<null>" : timeout);

      Regex rgx = new Regex("[aeiouy]");
      Console.WriteLine("Regular expression pattern: {0}", rgx.ToString());
      Console.WriteLine("Timeout interval for this regex: {0} seconds",
                        rgx.MatchTimeout.TotalSeconds);
   }
}
// The example displays the following output:
//       Default regex match timeout: 00:00:02
//       Regular expression pattern: [aeiouy]
//       Timeout interval for this regex: 2 seconds
Imports System.Text.RegularExpressions

Module Example
   Public Sub Main()
      Dim domain As AppDomain = AppDomain.CurrentDomain
      ' Set a timeout interval of 2 seconds.
      domain.SetData("REGEX_DEFAULT_MATCH_TIMEOUT", TimeSpan.FromSeconds(2))
      Dim timeout As Object = domain.GetData("REGEX_DEFAULT_MATCH_TIMEOUT")
      Console.WriteLine("Default regex match timeout: {0}",
                         If(timeout Is Nothing, "<null>", timeout))

      Dim rgx As New Regex("[aeiouy]")
      Console.WriteLine("Regular expression pattern: {0}", rgx.ToString())
      Console.WriteLine("Timeout interval for this regex: {0} seconds",
                        rgx.MatchTimeout.TotalSeconds)
   End Sub
End Module
' The example displays the following output:
'       Default regex match timeout: 00:00:02
'       Regular expression pattern: [aeiouy]
'       Timeout interval for this regex: 2 seconds

かどうかは明示的に設定しない既定値、タイムアウト間隔Regex.InfiniteMatchTimeoutが操作に使用されると一致する操作はタイムアウトしません。If you do not explicitly set a time-out interval, the default value Regex.InfiniteMatchTimeout is used, and matching operations do not time out.

適用対象