Regex.Split Regex.Split Regex.Split Regex.Split Method

定義

正規表現の一致箇所によって定義される位置で、入力文字列を部分文字列の配列に分割します。Splits an input string into an array of substrings at the positions defined by a regular expression match.

オーバーロード

Split(String, String, RegexOptions, TimeSpan) Split(String, String, RegexOptions, TimeSpan) Split(String, String, RegexOptions, TimeSpan) Split(String, String, RegexOptions, TimeSpan)

指定された正規表現パターンによって定義されている位置で、入力文字列を部分文字列の配列に分割します。Splits an input string into an array of substrings at the positions defined by a specified regular expression pattern. 追加のパラメーターでは、一致が見つからない場合に一致操作とタイムアウト間隔を変更するオプションを指定します。Additional parameters specify options that modify the matching operation and a time-out interval if no match is found.

Split(String, String, RegexOptions) Split(String, String, RegexOptions) Split(String, String, RegexOptions) Split(String, String, RegexOptions)

指定された正規表現パターンによって定義されている位置で、入力文字列を部分文字列の配列に分割します。Splits an input string into an array of substrings at the positions defined by a specified regular expression pattern. 指定したオプションで、一致操作を変更します。Specified options modify the matching operation.

Split(String, Int32, Int32) Split(String, Int32, Int32) Split(String, Int32, Int32) Split(String, Int32, Int32)

Regex コンストラクターで指定された正規表現で定義されている位置で、入力文字列を指定されている最大回数だけ分割し、部分文字列の配列に格納します。Splits an input string a specified maximum number of times into an array of substrings, at the positions defined by a regular expression specified in the Regex constructor. 正規表現パターンの検索は、入力文字列の指定した文字位置から開始します。The search for the regular expression pattern starts at a specified character position in the input string.

Split(String, Int32) Split(String, Int32) Split(String, Int32) Split(String, Int32)

Regex コンストラクターで指定された正規表現で定義されている位置で、入力文字列を指定されている最大回数だけ分割し、部分文字列の配列に格納します。Splits an input string a specified maximum number of times into an array of substrings, at the positions defined by a regular expression specified in the Regex constructor.

Split(String) Split(String) Split(String) Split(String)

Regex コンストラクターで指定された正規表現パターンによって定義されている位置で入力文字列を分割し、部分文字列の配列に格納します。Splits an input string into an array of substrings at the positions defined by a regular expression pattern specified in the Regex constructor.

Split(String, String) Split(String, String) Split(String, String) Split(String, String)

正規表現パターンによって定義されている位置で、入力文字列を部分文字列の配列に分割します。Splits an input string into an array of substrings at the positions defined by a regular expression pattern.

Split(String, String, RegexOptions, TimeSpan) Split(String, String, RegexOptions, TimeSpan) Split(String, String, RegexOptions, TimeSpan) Split(String, String, RegexOptions, TimeSpan)

指定された正規表現パターンによって定義されている位置で、入力文字列を部分文字列の配列に分割します。Splits an input string into an array of substrings at the positions defined by a specified regular expression pattern. 追加のパラメーターでは、一致が見つからない場合に一致操作とタイムアウト間隔を変更するオプションを指定します。Additional parameters specify options that modify the matching operation and a time-out interval if no match is found.

public:
 static cli::array <System::String ^> ^ Split(System::String ^ input, System::String ^ pattern, System::Text::RegularExpressions::RegexOptions options, TimeSpan matchTimeout);
public static string[] Split (string input, string pattern, System.Text.RegularExpressions.RegexOptions options, TimeSpan matchTimeout);
static member Split : string * string * System.Text.RegularExpressions.RegexOptions * TimeSpan -> string[]
Public Shared Function Split (input As String, pattern As String, options As RegexOptions, matchTimeout As TimeSpan) As String()

パラメーター

input
String String String String

分割対象の文字列。The string to split.

pattern
String String String String

一致させる正規表現パターン。The regular expression pattern to match.

options
RegexOptions RegexOptions RegexOptions RegexOptions

一致オプションを指定する列挙値のビットごとの組み合わせ。A bitwise combination of the enumeration values that provide options for matching.

matchTimeout
TimeSpan TimeSpan TimeSpan TimeSpan

タイムアウト期間、またはメソッドがタイムアウトしないことを示す InfiniteMatchTimeoutA time-out interval, or InfiniteMatchTimeout to indicate that the method should not time out.

戻り値

String[]

文字列配列。A string array.

例外

正規表現の解析エラーが発生しました。A regular expression parsing error occurred.

input または patternnull です。input or pattern is null.

options は、RegexOptions 値のビットごとの正しい組み合わせではありません。options is not a valid bitwise combination of RegexOptions values.

または-or- matchTimeout が負の値か、0 か、または約 24 日を超えています。matchTimeout is negative, zero, or greater than approximately 24 days.

タイムアウトが発生しました。A time-out occurred. タイムアウトの詳細については、「解説」をご覧ください。For more information about time-outs, see the Remarks section.

注釈

Regex.Splitメソッドと似ています、String.Split(Char[])メソッドの点を除いて、Regex.Split一連の文字ではなく正規表現によって決まります区切り記号で文字列を分割します。The Regex.Split methods are similar to the String.Split(Char[]) method, except that Regex.Split splits the string at a delimiter determined by a regular expression instead of a set of characters. 文字列は、可能な回数だけ分割します。The string is split as many times as possible. 戻り値には区切り記号が検出されない場合はした元の値を 1 つの要素が含まれていますinput文字列。If no delimiter is found, the return value contains one element whose value is the original input string.

patternパラメーターは、シンボルと一致する文字列を記述する正規表現言語要素で構成されています。The pattern parameter consists of regular expression language elements that symbolically describe the string to match. 正規表現の詳細については、次を参照してください。 .NET Framework の正規表現正規表現言語 - クイック リファレンスします。For more information about regular expressions, see .NET Framework Regular Expressions and Regular Expression Language - Quick Reference.

重要

静的な呼び出しで使用される正規表現をコンパイルSplitメソッドが自動的にキャッシュします。Compiled regular expressions used in calls to static Split methods are automatically cached. コンパイルされた正規表現の有効期間を自分で管理するインスタンスを使用して、Splitメソッド。To manage the lifetime of compiled regular expressions yourself, use the instance Split methods.

複数の一致が互いに隣接していない場合、空の文字列は、配列に挿入されます。If multiple matches are adjacent to one another, an empty string is inserted into the array. たとえば、1 つのハイフンで文字列を分割、返される配列に空の文字列を隣接する 2 つのハイフンが見つかった位置に含めると、します。For example, splitting a string on a single hyphen causes the returned array to include an empty string in the position where two adjacent hyphens are found.

先頭または入力文字列の末尾に一致するものが見つかった場合は空の文字列は、先頭または返される配列の末尾に含まれています。If a match is found at the beginning or the end of the input string, an empty string is included at the beginning or the end of the returned array. 次の例は、正規表現パターンを使用して[a-z]+大文字または小文字のアルファベット文字で入力文字列を分割します。The following example uses the regular expression pattern [a-z]+ to split an input string on any uppercase or lowercase alphabetic character. 返される配列の最初と最後の要素の値は、文字列を開始し、アルファベット文字で終わる、ためString.Emptyします。Because the string begins and ends with matching alphabetic characters, the value of the first and last element of the returned array is String.Empty.

using System;
using System.Text.RegularExpressions;

public class Example
{
   public static void Main()
   {
      string pattern = "[a-z]+";
      string input = "Abc1234Def5678Ghi9012Jklm";
      string[] result = Regex.Split(input, pattern, 
                                    RegexOptions.IgnoreCase,
                                    TimeSpan.FromMilliseconds(500));
      for (int ctr = 0; ctr < result.Length; ctr++) {
         Console.Write("'{0}'", result[ctr]);
         if (ctr < result.Length - 1) 
            Console.Write(", ");
      }
      Console.WriteLine();
   }
}
// The example displays the following output:
//       '', '1234', '5678', '9012', ''
Imports System.Text.RegularExpressions

Module Example
   Public Sub Main()
      Dim pattern As String = "[a-z]+"
      Dim input As String = "Abc1234Def5678Ghi9012Jklm"
      Dim result() As String = Regex.Split(input, pattern, 
                                           RegexOptions.IgnoreCase,
                                           TimeSpan.FromMilliseconds(500))
      For ctr As Integer = 0 To result.Length - 1
         Console.Write("'{0}'", result(ctr))
         If ctr < result.Length - 1 Then Console.Write(", ")
      Next
      Console.WriteLine()
   End Sub               
End Module
' The example displays the following output:
'       '', '1234', '5678', '9012', ''

キャプチャするかっこを使用する場合、Regex.Split結果の文字列配列に文字が含まれるキャプチャされた任意の式。If capturing parentheses are used in a Regex.Split expression, any captured text is included in the resulting string array. たとえば、"plum-pear"ハイフンでキャプチャするかっこ内に配置される文字列を分割する場合、返される配列にはハイフンを含む文字列の要素が含まれます。For example, if you split the string "plum-pear" on a hyphen placed within capturing parentheses, the returned array includes a string element that contains the hyphen.

using System;
using System.Text.RegularExpressions;

public class Example
{
   public static void Main()
   {
      string input = "plum-pear";
      string pattern = "(-)";

      string[] substrings = Regex.Split(input, pattern);    // Split on hyphens
      foreach (string match in substrings)
      {
         Console.WriteLine("'{0}'", match);
      }
   }
}
// The example displays the following output:
//    'plum'
//    '-'
//    'pear'      
Imports System.Text.RegularExpressions

Module Example
   Public Sub Main()
      Dim input As String = "plum-pear"
      Dim pattern As String = "(-)" 
      
      Dim substrings() As String = Regex.Split(input, pattern)    ' Split on hyphens.
      For Each match As String In substrings
         Console.WriteLine("'{0}'", match)
      Next
   End Sub
End Module
' The method writes the following to the console:
'    'plum'
'    '-'
'    'pear'      

ただし、正規表現パターンには、複数のかっこのキャプチャのセットが含まれている場合、このメソッドの動作は、.NET Framework のバージョンに依存します。However, when the regular expression pattern includes multiple sets of capturing parentheses, the behavior of this method depends on the version of the .NET Framework. .NET Framework 1.0 および 1.1 は、かっこ、キャプチャするための最初のセット内の一致が見つからない場合、追加のキャプチャのかっこからキャプチャされたテキストが返される配列に含まれません。In the .NET Framework 1.0 and 1.1, if a match is not found within the first set of capturing parentheses, captured text from additional capturing parentheses is not included in the returned array. 以降、.NET Framework 2.0 では、すべてのキャプチャされたテキストも、返される配列に追加します。Starting with the .NET Framework 2.0, all captured text is also added to the returned array. たとえば、次のコードは、日付文字列から、日付の区切り文字を含む日付の要素を抽出するのにキャプチャするためのかっこの 2 つのセットを使用します。For example, the following code uses two sets of capturing parentheses to extract the elements of a date, including the date delimiters, from a date string. かっこのキャプチャの最初のセットは、ハイフンをキャプチャし、2 番目のセットは、スラッシュをキャプチャします。The first set of capturing parentheses captures the hyphen, and the second set captures the forward slash. コード例をコンパイルして、.NET Framework 1.0 または 1.1 で実行する場合、スラッシュ文字は含まれませんこれをコンパイルおよび .NET Framework 2.0 またはそれ以降のバージョンで実行する場合に含まれます。If the example code is compiled and run under the .NET Framework 1.0 or 1.1, it excludes the slash characters; if it is compiled and run under the .NET Framework 2.0 or later versions, it includes them.

using System;
using System.Text.RegularExpressions;

public class Example
{
   public static void Main()
   {
      string input = @"07/14/2007";   
      string pattern = @"(-)|(/)";

      foreach (string result in Regex.Split(input, pattern)) 
      {
         Console.WriteLine("'{0}'", result);
      }
   }
}
// In .NET 1.0 and 1.1, the method returns an array of
// 3 elements, as follows:
//    '07'
//    '14'
//    '2007'
//
// In .NET 2.0 and later, the method returns an array of
// 5 elements, as follows:
//    '07'
//    '/'
//    '14'
//    '/'
//    '2007' 
Imports System
Imports System.Text.RegularExpressions

Module Example
   Public Sub Main()
      Dim input As String = "07/14/2007"   
      Dim pattern As String = "(-)|(/)"
      For Each result As String In Regex.Split(input, pattern) 
         Console.WriteLine("'{0}'", result)
      Next
   End Sub
End Module
' In .NET 1.0 and 1.1, the method returns an array of
' 3 elements, as follows:
'    '07'
'    '14'
'    '2007'
'
' In .NET 2.0 and later, the method returns an array of
' 5 elements, as follows:
'    '07'
'    '/'
'    '14'
'    '/'
'    '2007' 

正規表現が空の文字列を一致する場合Splitはすべての場所に空の文字列の区切り記号が見つからないので、1 文字の文字列の配列に文字列を分割します。If the regular expression can match the empty string, Split will split the string into an array of single-character strings because the empty string delimiter can be found at every location.

matchTimeoutパラメーターする方法を指定時間の長い、パターン マッチング メソッドは必要がありますがタイムアウトする前に、検索しようとしています。入力の処理時に応答を停止させない過度なバックトラッ キングに依存する正規表現の使用を防止するタイムアウト間隔を設定する近い一致が含まれています。The matchTimeout parameter specifies how long a pattern matching method should try to find a match before it times out. Setting a time-out interval prevents regular expressions that rely on excessive backtracking from appearing to stop responding when they process input that contains near matches. 詳細については、次を参照してください。正規表現に関するベスト プラクティスバックトラッ キングします。For more information, see Best Practices for Regular Expressions and Backtracking. メソッドをスローする時間間隔で一致するものがない場合、RegexMatchTimeoutException例外。If no match is found in that time interval, the method throws a RegexMatchTimeoutException exception. matchTimeout メソッドが実行されるアプリケーション ドメインに対して定義されている既定のタイムアウト値をオーバーライドします。matchTimeout overrides any default time-out value defined for the application domain in which the method executes.

注意 (呼び出し元)

設定することをお勧め、matchTimeoutに 2 秒などの適切な値のパラメーター。We recommend that you set the matchTimeout parameter to an appropriate value, such as two seconds. タイムアウトを指定することで無効にした場合InfiniteMatchTimeout、正規表現エンジンが若干優れたパフォーマンスを提供します。If you disable time-outs by specifying InfiniteMatchTimeout, the regular expression engine offers slightly better performance. ただし、タイムアウトは、次の条件下でのみ無効にする必要があります。However, you should disable time-outs only under the following conditions: -正規表現によって処理される入力は既知の信頼されたソースから派生または静的テキストで構成されます。- When the input processed by a regular expression is derived from a known and trusted source or consists of static text. これには、動的にユーザーが入力されているテキストが含まれません。This excludes text that has been dynamically input by users.

-効率的に処理することを確認する正規表現パターンが十分にテストされているときは、一致すると、一致以外の場合と近い一致します。- When the regular expression pattern has been thoroughly tested to ensure that it efficiently handles matches, non-matches, and near matches.

場合は、正規表現パターンにほぼ一致を処理するときに、過度なバックトラッ キングが発生することがわかっている言語要素は含まれていません。- When the regular expression pattern contains no language elements that are known to cause excessive backtracking when processing a near match.

こちらもご覧ください

Split(String, String, RegexOptions) Split(String, String, RegexOptions) Split(String, String, RegexOptions) Split(String, String, RegexOptions)

指定された正規表現パターンによって定義されている位置で、入力文字列を部分文字列の配列に分割します。Splits an input string into an array of substrings at the positions defined by a specified regular expression pattern. 指定したオプションで、一致操作を変更します。Specified options modify the matching operation.

public:
 static cli::array <System::String ^> ^ Split(System::String ^ input, System::String ^ pattern, System::Text::RegularExpressions::RegexOptions options);
public static string[] Split (string input, string pattern, System.Text.RegularExpressions.RegexOptions options);
static member Split : string * string * System.Text.RegularExpressions.RegexOptions -> string[]
Public Shared Function Split (input As String, pattern As String, options As RegexOptions) As String()

パラメーター

input
String String String String

分割対象の文字列。The string to split.

pattern
String String String String

一致させる正規表現パターン。The regular expression pattern to match.

options
RegexOptions RegexOptions RegexOptions RegexOptions

一致オプションを指定する列挙値のビットごとの組み合わせ。A bitwise combination of the enumeration values that provide options for matching.

戻り値

String[]

文字列の配列。An array of strings.

例外

正規表現の解析エラーが発生しました。A regular expression parsing error occurred.

input または patternnull です。input or pattern is null.

options は、RegexOptions 値のビットごとの正しい組み合わせではありません。options is not a valid bitwise combination of RegexOptions values.

タイムアウトが発生しました。A time-out occurred. タイムアウトの詳細については、「解説」をご覧ください。For more information about time-outs, see the Remarks section.

注釈

Regex.Splitメソッドと似ています、String.Split(Char[])メソッドの点を除いて、Regex.Split一連の文字ではなく正規表現によって決まります区切り記号で文字列を分割します。The Regex.Split methods are similar to the String.Split(Char[]) method, except that Regex.Split splits the string at a delimiter determined by a regular expression instead of a set of characters. 文字列は、可能な回数だけ分割します。The string is split as many times as possible. 戻り値には区切り記号が検出されない場合はした元の値を 1 つの要素が含まれていますinput文字列。If no delimiter is found, the return value contains one element whose value is the original input string.

patternパラメーターは、シンボルと一致する文字列を記述する正規表現言語要素で構成されています。The pattern parameter consists of regular expression language elements that symbolically describe the string to match. 正規表現の詳細については、次を参照してください。 .NET Framework の正規表現正規表現言語 - クイック リファレンスします。For more information about regular expressions, see .NET Framework Regular Expressions and Regular Expression Language - Quick Reference.

重要

静的な呼び出しで使用される正規表現をコンパイルSplitメソッドが自動的にキャッシュします。Compiled regular expressions used in calls to static Split methods are automatically cached. コンパイルされた正規表現の有効期間を自分で管理するインスタンスを使用して、Splitメソッド。To manage the lifetime of compiled regular expressions yourself, use the instance Split methods.

複数の一致が互いに隣接していない場合、空の文字列は、配列に挿入されます。If multiple matches are adjacent to one another, an empty string is inserted into the array. たとえば、1 つのハイフンで文字列を分割、返される配列に空の文字列を隣接する 2 つのハイフンが見つかった位置に含めると、します。For example, splitting a string on a single hyphen causes the returned array to include an empty string in the position where two adjacent hyphens are found.

先頭または入力文字列の末尾に一致するものが見つかった場合は空の文字列は、先頭または返される配列の末尾に含まれています。If a match is found at the beginning or the end of the input string, an empty string is included at the beginning or the end of the returned array. 次の例は、正規表現パターンを使用して[a-z]+大文字または小文字のアルファベット文字で入力文字列を分割します。The following example uses the regular expression pattern [a-z]+ to split an input string on any uppercase or lowercase alphabetic character. 返される配列の最初と最後の要素の値は、文字列を開始し、アルファベット文字で終わる、ためString.Emptyします。Because the string begins and ends with matching alphabetic characters, the value of the first and last element of the returned array is String.Empty.

using System;
using System.Text.RegularExpressions;

public class Example
{
   public static void Main()
   {
      string pattern = "[a-z]+";
      string input = "Abc1234Def5678Ghi9012Jklm";
      string[] result = Regex.Split(input, pattern, 
                                    RegexOptions.IgnoreCase);
      for (int ctr = 0; ctr < result.Length; ctr++) {
         Console.Write("'{0}'", result[ctr]);
         if (ctr < result.Length - 1) 
            Console.Write(", ");
      }
      Console.WriteLine();
   }
}
// The example displays the following output:
//       '', '1234', '5678', '9012', ''
Imports System.Text.RegularExpressions

Module Example
   Public Sub Main()
      Dim pattern As String = "[a-z]+"
      Dim input As String = "Abc1234Def5678Ghi9012Jklm"
      Dim result() As String = Regex.Split(input, pattern, 
                                           RegexOptions.IgnoreCase)
      For ctr As Integer = 0 To result.Length - 1
         Console.Write("'{0}'", result(ctr))
         If ctr < result.Length - 1 Then Console.Write(", ")
      Next
      Console.WriteLine()
   End Sub               
End Module
' The example displays the following output:
'       '', '1234', '5678', '9012', ''

キャプチャするかっこを使用する場合、Regex.Split結果の文字列配列に文字が含まれるキャプチャされた任意の式。If capturing parentheses are used in a Regex.Split expression, any captured text is included in the resulting string array. たとえば、"plum-pear"ハイフンでキャプチャするかっこ内に配置される文字列を分割する場合、返される配列にはハイフンを含む文字列の要素が含まれます。For example, if you split the string "plum-pear" on a hyphen placed within capturing parentheses, the returned array includes a string element that contains the hyphen.

using System;
using System.Text.RegularExpressions;

public class Example
{
   public static void Main()
   {
      string input = "plum-pear";
      string pattern = "(-)";

      string[] substrings = Regex.Split(input, pattern);    // Split on hyphens
      foreach (string match in substrings)
      {
         Console.WriteLine("'{0}'", match);
      }
   }
}
// The example displays the following output:
//    'plum'
//    '-'
//    'pear'      
Imports System.Text.RegularExpressions

Module Example
   Public Sub Main()
      Dim input As String = "plum-pear"
      Dim pattern As String = "(-)" 
      
      Dim substrings() As String = Regex.Split(input, pattern)    ' Split on hyphens.
      For Each match As String In substrings
         Console.WriteLine("'{0}'", match)
      Next
   End Sub
End Module
' The method writes the following to the console:
'    'plum'
'    '-'
'    'pear'      

ただし、正規表現パターンには、複数のかっこのキャプチャのセットが含まれている場合、このメソッドの動作は、.NET Framework のバージョンに依存します。However, when the regular expression pattern includes multiple sets of capturing parentheses, the behavior of this method depends on the version of the .NET Framework. .NET Framework 1.0 および 1.1 は、かっこ、キャプチャするための最初のセット内の一致が見つからない場合、追加のキャプチャのかっこからキャプチャされたテキストが返される配列に含まれません。In the .NET Framework 1.0 and 1.1, if a match is not found within the first set of capturing parentheses, captured text from additional capturing parentheses is not included in the returned array. 以降、.NET Framework 2.0 では、すべてのキャプチャされたテキストも、返される配列に追加します。Starting with the .NET Framework 2.0, all captured text is also added to the returned array. たとえば、次のコードは、日付文字列から、日付の区切り文字を含む日付の要素を抽出するのにキャプチャするためのかっこの 2 つのセットを使用します。For example, the following code uses two sets of capturing parentheses to extract the elements of a date, including the date delimiters, from a date string. かっこのキャプチャの最初のセットは、ハイフンをキャプチャし、2 番目のセットは、スラッシュをキャプチャします。The first set of capturing parentheses captures the hyphen, and the second set captures the forward slash. コード例をコンパイルして、.NET Framework 1.0 または 1.1 で実行する場合、スラッシュ文字は含まれませんこれをコンパイルおよび .NET Framework 2.0 またはそれ以降のバージョンで実行する場合に含まれます。If the example code is compiled and run under the .NET Framework 1.0 or 1.1, it excludes the slash characters; if it is compiled and run under the .NET Framework 2.0 or later versions, it includes them.

using System;
using System.Text.RegularExpressions;

public class Example
{
   public static void Main()
   {
      string input = @"07/14/2007";   
      string pattern = @"(-)|(/)";

      foreach (string result in Regex.Split(input, pattern)) 
      {
         Console.WriteLine("'{0}'", result);
      }
   }
}
// In .NET 1.0 and 1.1, the method returns an array of
// 3 elements, as follows:
//    '07'
//    '14'
//    '2007'
//
// In .NET 2.0 and later, the method returns an array of
// 5 elements, as follows:
//    '07'
//    '/'
//    '14'
//    '/'
//    '2007' 
Imports System
Imports System.Text.RegularExpressions

Module Example
   Public Sub Main()
      Dim input As String = "07/14/2007"   
      Dim pattern As String = "(-)|(/)"
      For Each result As String In Regex.Split(input, pattern) 
         Console.WriteLine("'{0}'", result)
      Next
   End Sub
End Module
' In .NET 1.0 and 1.1, the method returns an array of
' 3 elements, as follows:
'    '07'
'    '14'
'    '2007'
'
' In .NET 2.0 and later, the method returns an array of
' 5 elements, as follows:
'    '07'
'    '/'
'    '14'
'    '/'
'    '2007' 

正規表現が空の文字列を一致する場合Splitはすべての場所に空の文字列の区切り記号が見つからないので、1 文字の文字列の配列に文字列を分割します。If the regular expression can match the empty string, Split will split the string into an array of single-character strings because the empty string delimiter can be found at every location.

RegexMatchTimeoutException Split 操作の実行時間が、メソッドが呼び出されて、アプリケーション ドメインの指定されたタイムアウト間隔を超えた場合に例外がスローされます。The RegexMatchTimeoutException exception is thrown if the execution time of the split operation exceeds the time-out interval specified for the application domain in which the method is called. アプリケーション ドメインのプロパティでは、タイムアウトが定義されていない場合、またはタイムアウト値は、Regex.InfiniteMatchTimeout例外はスローされません。If no time-out is defined in the application domain's properties, or if the time-out value is Regex.InfiniteMatchTimeout, no exception is thrown.

注意 (呼び出し元)

このメソッドが、メソッドが呼び出されて、アプリケーション ドメインの既定のタイムアウト値に等しい間隔後にタイムアウトが発生しました。This method times out after an interval that is equal to the default time-out value of the application domain in which the method is called. 値は、アプリケーション ドメインのタイムアウト値が定義されていない場合InfiniteMatchTimeout、タイムアウトしたからメソッドを防ぐことが使用されます。If a time-out value has not been defined for the application domain, the value InfiniteMatchTimeout, which prevents the method from timing out, is used. パターン一致する場合にテキストを分割するための推奨される静的メソッドはSplit(String, String, RegexOptions, TimeSpan)、タイムアウト間隔を設定することができます。The recommended static method for splitting text on a pattern match is Split(String, String, RegexOptions, TimeSpan), which lets you set the time-out interval.

こちらもご覧ください

Split(String, Int32, Int32) Split(String, Int32, Int32) Split(String, Int32, Int32) Split(String, Int32, Int32)

Regex コンストラクターで指定された正規表現で定義されている位置で、入力文字列を指定されている最大回数だけ分割し、部分文字列の配列に格納します。Splits an input string a specified maximum number of times into an array of substrings, at the positions defined by a regular expression specified in the Regex constructor. 正規表現パターンの検索は、入力文字列の指定した文字位置から開始します。The search for the regular expression pattern starts at a specified character position in the input string.

public:
 cli::array <System::String ^> ^ Split(System::String ^ input, int count, int startat);
public string[] Split (string input, int count, int startat);
member this.Split : string * int * int -> string[]
Public Function Split (input As String, count As Integer, startat As Integer) As String()

パラメーター

input
String String String String

分割対象の文字列。The string to be split.

count
Int32 Int32 Int32 Int32

分割を実行する最大回数。The maximum number of times the split can occur.

startat
Int32 Int32 Int32 Int32

入力文字列中で検索を開始する文字位置。The character position in the input string where the search will begin.

戻り値

String[]

文字列の配列。An array of strings.

例外

startat が 0 未満か、input の長さを超えています。startat is less than zero or greater than the length of input.

タイムアウトが発生しました。A time-out occurred. タイムアウトの詳細については、「解説」をご覧ください。For more information about time-outs, see the Remarks section.

注釈

Regex.Splitメソッドと似ています、String.Splitメソッドの点を除いて、Regex.Split一連の文字ではなく正規表現によって決まります区切り記号で文字列を分割します。The Regex.Split methods are similar to the String.Split method, except that Regex.Split splits the string at a delimiter determined by a regular expression instead of a set of characters. countを部分文字列の最大数を指定するパラメーター、input文字列の分割は、最後の文字列に分割されていない残り文字列にはが含まれています。The count parameter specifies the maximum number of substrings into which the input string is split; the last string contains the unsplit remainder of the string. Acountゼロの値は、できるだけ多く繰り返して分割の既定の動作を提供します。A count value of zero provides the default behavior of splitting as many times as possible. startatパラメーターは、最初の区切り記号の検索を開始するポイントを定義します (先頭の空白文字をスキップした場合のこの使用できます)。The startat parameter defines the point at which the search for the first delimiter begins (this can be used for skipping leading white space).

一致が見つからない場合、 count+1 が、文字列の位置、メソッドを含む 1 つの要素の配列を返します、input文字列。If no matches are found from the count+1 position in the string, the method returns a one-element array that contains the input string. 1 つまたは複数の一致が見つかった場合、返される配列の最初の要素には、一致の前に、の 1 つの文字までの最初の文字から文字列の最初の部分が含まれています。If one or more matches are found, the first element of the returned array contains the first portion of the string from the first character up to one character before the match.

複数の一致が互いに隣接し、見つかった一致項目の数が 2 つ以上の場合より小さいcount、空の文字列は、配列に挿入されます。If multiple matches are adjacent to one another and the number of matches found is at least two less than count, an empty string is inserted into the array. 同様での一致が見つかった場合startat文字列の最初の文字は、返される配列の最初の要素が空の文字列。Similarly, if a match is found at startat, which is the first character in the string, the first element of the returned array is an empty string. 数に一致した部分文字列と等しいかどうかを決定するにカウントが隣接する一致の結果として空の文字列のcountします。That is, empty strings that result from adjacent matches are counted in determining whether the number of matched substrings equals count. 次の例では、正規表現で\d+文字列内の文字の最初の部分文字列の開始位置を検索するために使用し、文字列の最大値を分割する位置に 3 回開始します。In the following example, the regular expression \d+ is used to find the starting position of the first substring of numeric characters in a string, and then to split the string a maximum of three times starting at that position. 返される文字列の配列は空の文字列、5 文字の英数字文字列、および、文字列の残りの部分、正規表現パターンが入力文字列の先頭に一致するので、Because the regular expression pattern matches the beginning of the input string, the returned string array consists of an empty string, a five-character alphabetic string, and the remainder of the string,

using System;
using System.Text.RegularExpressions;

public class Example
{
   public static void Main()
   {
      string pattern = @"\d+";
      Regex rgx = new Regex(pattern);
      string input = "123ABCDE456FGHIJ789KLMNO012PQRST";
      Match m = rgx.Match(input);
      if (m.Success) { 
         int startAt = m.Index;
         string[] result = rgx.Split(input, 3, startAt);
         for (int ctr = 0; ctr < result.Length; ctr++) {
            Console.Write("'{0}'", result[ctr]);
            if (ctr < result.Length - 1)
               Console.Write(", ");
         }
         Console.WriteLine();
      }
   }
}
// The example displays the following output:
//       '', 'ABCDE', 'FGHIJKL789MNOPQ012'
Imports System.Text.RegularExpressions

Module Example
   Public Sub Main()
      Dim pattern As String = "\d+"
      Dim rgx As New Regex(pattern)
      Dim input As String = "123ABCDE456FGHIJ789KLMNO012PQRST"
      Dim m As Match = rgx.Match(input)
      If m.Success Then 
         Dim startAt As Integer = m.Index
         Dim result() As String = rgx.Split(input, 3, startAt)
         For ctr As Integer = 0 To result.Length - 1
            Console.Write("'{0}'", result(ctr))
            If ctr < result.Length - 1 Then Console.Write(", ")
         Next
         Console.WriteLine()
      End If
   End Sub               
End Module
' The example displays the following output:
'       '', 'ABCDE', 'FGHIJKL789MNOPQ012'

正規表現でキャプチャするかっこを使用する場合は、分割の文字列の配列でキャプチャされたテキストが含まれます。If capturing parentheses are used in a regular expression, any captured text is included in the array of split strings. ただし、キャプチャされたテキストを含む配列の要素はカウントされませんを決定する一致の数に達したかどうかcountします。However, any array elements that contain captured text are not counted in determining whether the number of matches has reached count. たとえば、文字列の分割 '"apple-apricot-plum-pear-pomegranate-pineapple-peach"に、最大 4 つの部分文字列を次のコードに示すよう 7 要素の配列内の文字列の結果の 15 文字で始まる。For example, splitting the string '"apple-apricot-plum-pear-pomegranate-pineapple-peach" into a maximum of four substrings beginning at character 15 in the string results in a seven-element array, as the following code shows.

Imports System.Text.RegularExpressions

Module Example
   Public Sub Main()
      Dim pattern As String = "(-)"
      Dim input As String = "apple-apricot-plum-pear-pomegranate-pineapple-peach"

      Dim regex As Regex = New Regex(pattern)    
      ' Split on hyphens from 15th character on
      Dim substrings() As String = regex.Split(input, 4, 15)
      For Each match As String In substrings
         Console.WriteLine("'{0}'", match)
      Next
   End Sub  
End Module
' The example displays the following output:
'    'apple-apricot-plum'
'    '-'
'    'pear'
'    '-'
'    'pomegranate'
'    '-'
'    'pineapple-peach'      

ただし、正規表現パターンには、複数のかっこのキャプチャのセットが含まれている場合、このメソッドの動作は、.NET Framework のバージョンに依存します。However, when the regular expression pattern includes multiple sets of capturing parentheses, the behavior of this method depends on the version of the .NET Framework. .NET Framework 1.0 および 1.1 は、かっこ、キャプチャするための最初のセット内の一致が見つからない場合、追加のキャプチャのかっこからキャプチャされたテキストは、返される配列に含まれません。In .NET Framework 1.0 and 1.1, if a match is not found within the first set of capturing parentheses, captured text from additional capturing parentheses is not included in the returned array. 以降、.NET Framework 2.0 では、すべてのキャプチャされたテキストも、返される配列に追加します。Starting with the .NET Framework 2.0, all captured text is also added to the returned array. たとえば、次のコードは、文字列内の個々 の単語を抽出するのにキャプチャするためのかっこの 2 つのセットを使用します。For example, the following code uses two sets of capturing parentheses to extract the individual words in a string. 最初のキャプチャするかっこのセットは、ハイフンをキャプチャし、2 番目のセットが、垂直バーをキャプチャします。The first set of capturing parentheses captures the hyphen, and the second set captures the vertical bar. コード例をコンパイルして、.NET Framework 1.0 または 1.1 で実行する場合、垂直方向は含まれませんバーの文字。これをコンパイルおよび .NET Framework 2.0 またはそれ以降のバージョンで実行する場合に含まれます。If the example code is compiled and run under the .NET Framework 1.0 or 1.1, it excludes the vertical bar characters; if it is compiled and run under the .NET Framework 2.0 or later versions, it includes them.

using System;
using System.Text.RegularExpressions;

public class Example
{
   public static void Main()
   {
      string pattern = "(-)|([|])";     // possible delimiters found in string
      string input = "apple|apricot|plum|pear|pomegranate|pineapple|peach";

      Regex regex = new Regex(pattern);    
      // Split on delimiters from 15th character on
      string[] substrings = regex.Split(input, 4, 15);
      foreach (string match in substrings)
      {
         Console.WriteLine("'{0}'", match);
      }
   }
}
// In .NET 2.0 and later, the method returns an array of
// 7 elements, as follows:
//    apple|apricot|plum'
//    '|'
//    'pear'
//    '|'
//    'pomegranate'
//    '|'
//    'pineapple|peach'
// In .NET 1.0 and 1.1, the method returns an array of
// 4 elements, as follows:
//    'apple|apricot|plum'
//    'pear'
//    'pomegranate'
//    'pineapple|peach'
Imports System
Imports System.Text.RegularExpressions

Module Example
   Public Sub Main()
      Dim pattern As String = "(-)|([|])"   ' possible delimiters found in string
      Dim input As String = "apple|apricot|plum|pear|pomegranate|pineapple|peach"

      Dim regex As Regex = New Regex(pattern)    
      ' Split on delimiters from 15th character on
      Dim substrings() As String = regex.Split(input, 4, 15)
      For Each match As String In substrings
         Console.WriteLine("'{0}'", match)
      Next
   End Sub
End Module
' In .NET 2.0, the method returns an array of
' 7 elements, as follows:
'    apple|apricot|plum'
'    '|'
'    'pear'
'    '|'
'    'pomegranate'
'    '|'
'    'pineapple|peach'
' In .NET 1.0 and 1.1, the method returns an array of
' 4 elements, as follows:
'    'apple|apricot|plum'
'    'pear'
'    'pomegranate'
'    'pineapple|peach'

正規表現が空の文字列を一致する場合Splitはすべての場所に空の文字列の区切り記号が見つからないので、1 文字の文字列の配列に文字列を分割します。If the regular expression can match the empty string, Split will split the string into an array of single-character strings because the empty string delimiter can be found at every location. 次の例は、以降の文字で入力文字列が含まれます同じ数の要素に「文字」という文字列を分割"a"です。The following example splits the string "characters" into as many elements as the input string contains, starting with the character "a". Null 文字列が入力文字列の末尾に一致するため、null 文字列が返される配列の末尾に挿入されます。Because the null string matches the end of the input string, a null string is inserted at the end of the returned array.

using System;
using System.Text.RegularExpressions;

public class Example
{
   public static void Main()
   {
      string input = "characters";
      Regex regex = new Regex("");
      string[] substrings = regex.Split(input, input.Length, input.IndexOf("a"));
      Console.Write("{");
      for(int ctr = 0; ctr < substrings.Length; ctr++)
      {
         Console.Write(substrings[ctr]);
         if (ctr < substrings.Length - 1)
            Console.Write(", ");
      }
      Console.WriteLine("}");
   }
}
// The example displays the following output:   
//    {, c, h, a, r, a, c, t, e, rs}
Imports System.Text.RegularExpressions

Module Example
   Public Sub Main()
      Dim input As String = "characters"
      Dim regex As New Regex("")
      Dim substrings() As String = regex.Split(input, input.Length, _
                                               input.IndexOf("a"))
      Console.Write("{")
      For ctr As Integer = 0 to substrings.Length - 1
         Console.Write(substrings(ctr))
         If ctr < substrings.Length - 1 Then Console.Write(", ")
      Next
      Console.WriteLine("}")
   End Sub
End Module
' The example produces the following output:   
'    {, c, h, a, r, a, c, t, e, rs}

RegexMatchTimeoutException Split 操作の実行時間が指定されたタイムアウト間隔を超えた場合に例外がスローされます、Regex.Regex(String, RegexOptions, TimeSpan)コンス トラクター。The RegexMatchTimeoutException exception is thrown if the execution time of the split operation exceeds the time-out interval specified by the Regex.Regex(String, RegexOptions, TimeSpan) constructor. コンス トラクターを呼び出すときにタイムアウト間隔を設定しない場合、操作をアプリケーション ドメイン用に確立された任意のタイムアウト値を超えた場合に、例外がスロー、Regexオブジェクトが作成されます。If you do not set a time-out interval when you call the constructor, the exception is thrown if the operation exceeds any time-out value established for the application domain in which the Regex object is created. タイムアウトが定義されていない場合、Regexコンス トラクターの呼び出しまたはアプリケーション ドメインのプロパティでは、タイムアウト値がある場合またはRegex.InfiniteMatchTimeout例外はスローされませんIf no time-out is defined in the Regex constructor call or in the application domain's properties, or if the time-out value is Regex.InfiniteMatchTimeout, no exception is thrown

こちらもご覧ください

Split(String, Int32) Split(String, Int32) Split(String, Int32) Split(String, Int32)

Regex コンストラクターで指定された正規表現で定義されている位置で、入力文字列を指定されている最大回数だけ分割し、部分文字列の配列に格納します。Splits an input string a specified maximum number of times into an array of substrings, at the positions defined by a regular expression specified in the Regex constructor.

public:
 cli::array <System::String ^> ^ Split(System::String ^ input, int count);
public string[] Split (string input, int count);
member this.Split : string * int -> string[]
Public Function Split (input As String, count As Integer) As String()

パラメーター

input
String String String String

分割対象の文字列。The string to be split.

count
Int32 Int32 Int32 Int32

分割を実行する最大回数。The maximum number of times the split can occur.

戻り値

String[]

文字列の配列。An array of strings.

例外

タイムアウトが発生しました。A time-out occurred. タイムアウトの詳細については、「解説」をご覧ください。For more information about time-outs, see the Remarks section.

注釈

Regex.Splitメソッドと似ています、String.Splitメソッドの点を除いて、Regex.Split一連の文字ではなく正規表現によって決まります区切り記号で文字列を分割します。The Regex.Split methods are similar to the String.Split method, except that Regex.Split splits the string at a delimiter determined by a regular expression instead of a set of characters. countを部分文字列の最大数を指定するパラメーター、input文字列を分割することができます。 最後の文字列に分割されていない残りの文字列が含まれています。The count parameter specifies the maximum number of substrings into which the input string can be split; the last string contains the unsplit remainder of the string. Acountゼロの値は、できるだけ多く繰り返して分割の既定の動作を提供します。A count value of zero provides the default behavior of splitting as many times as possible.

複数の一致が互いに隣接している場合、または先頭または末尾に一致が見つかった場合input、検出された一致の数は少なくとも 2 つ未満count、空の文字列は、配列に挿入されます。If multiple matches are adjacent to one another or if a match is found at the beginning or end of input, and the number of matches found is at least two less than count, an empty string is inserted into the array. 数に一致した部分文字列と等しいかどうかを決定するにカウントが隣接する一致またはの先頭または入力文字列の末尾に一致する結果が空の文字列は、countします。That is, empty strings that result from adjacent matches or from matches at the beginning or end of the input string are counted in determining whether the number of matched substrings equals count. 次の例では、正規表現で/d+を 3 つの部分文字列の最大数に 1 つ以上の 10 進数字を含む入力文字列を分割するために使用します。In the following example, the regular expression /d+ is used to split an input string that includes one or more decimal digits into a maximum of three substrings. 配列の最初の要素を含む入力文字列の先頭には、正規表現パターンが一致すると、ためString.Empty、2 つ目には、アルファベット文字、入力文字列内の最初のセットが含まれていますおよび、3 番目の文字列の残りの部分が含まれています。3 番目の一致が続きます。Because the beginning of the input string matches the regular expression pattern, the first array element contains String.Empty, the second contains the first set of alphabetic characters in the input string, and the third contains the remainder of the string that follows the third match.

using System;
using System.Text.RegularExpressions;

public class Example
{
   public static void Main()
   {
      string pattern = @"\d+";
      Regex rgx = new Regex(pattern);
      string input = "123ABCDE456FGHIJKL789MNOPQ012";
      
      string[] result = rgx.Split(input, 3);
      for (int ctr = 0; ctr < result.Length; ctr++) {
         Console.Write("'{0}'", result[ctr]);
         if (ctr < result.Length - 1) 
            Console.Write(", ");
      }
      Console.WriteLine();
   }
}
// The example displays the following output:
//       '', 'ABCDE', 'FGHIJKL789MNOPQ012'
Imports System.Text.RegularExpressions

Module Example
   Public Sub Main()
      Dim pattern As String = "\d+"
      Dim rgx As New Regex(pattern)
      Dim input As String = "123ABCDE456FGHIJKL789MNOPQ012"
      
      Dim result() As String = rgx.Split(input, 3)
      For ctr As Integer = 0 To result.Length - 1
         Console.Write("'{0}'", result(ctr))
         If ctr < result.Length - 1 Then Console.Write(", ")
      Next
      Console.WriteLine()
   End Sub               
End Module
' The example displays the following output:
'       '', 'ABCDE', 'FGHIJKL789MNOPQ012'

正規表現でキャプチャするかっこを使用する場合は、分割の文字列の配列でキャプチャされたテキストが含まれます。If capturing parentheses are used in a regular expression, any captured text is included in the array of split strings. ただし、キャプチャされたテキストを含む配列の要素はカウントされませんを決定する一致の数に達したかどうかcountします。However, any array elements that contain captured text are not counted in determining whether the number of matches has reached count. たとえば、次のコードとしての 7 要素配列の 4 つの部分文字列結果の最大値に文字列"apple-アンズ-plum-pear-banana"分割示します。For example, splitting the string "apple-apricot-plum-pear-banana" into a maximum of four substrings results in a seven-element array, as the following code shows.

using System;
using System.Text.RegularExpressions;

public class Example
{
   public static void Main()
   {
      string pattern = "(-)";
      string input = "apple-apricot-plum-pear-banana";
      Regex regex = new Regex(pattern);         // Split on hyphens.
      string[] substrings = regex.Split(input, 4);
      foreach (string match in substrings)
      {
         Console.WriteLine("'{0}'", match);
      }
   }
}
// The example displays the following output:
//       'apple'
//       '-'
//       'apricot'
//       '-'
//       'plum'
//       '-'
//       'pear-banana'      
Imports System.Text.RegularExpressions

Module Example
   Public Sub Main()
      Dim pattern As String = "(-)"
      Dim input As String = "apple-apricot-plum-pear-banana"
      Dim regex As Regex = New Regex(pattern)         ' Split on hyphens.
      Dim substrings() As String = regex.Split(input, 4)
      For Each match As String In substrings
         Console.WriteLine("'{0}'", match)
      Next
   End Sub
End Module
' The example displays the following output:
'    'apple'
'    '-'
'    'apricot'
'    '-'
'    'plum'
'    '-'
'    'pear-banana'      

ただし、正規表現パターンには、複数のかっこのキャプチャのセットが含まれている場合、このメソッドの動作は、.NET Framework のバージョンに依存します。However, when the regular expression pattern includes multiple sets of capturing parentheses, the behavior of this method depends on the version of the .NET Framework. .NET Framework 1.0 および 1.1 では、返される配列に最初のキャプチャするかっこのセットからキャプチャされたテキストのみが含まれます。In the .NET Framework 1.0 and 1.1, only captured text from the first set of capturing parentheses is included in the returned array. 以降、.NET Framework 2.0 では、すべてのキャプチャされたテキストは、返される配列に追加されます。Starting with the .NET Framework 2.0, all captured text is added to the returned array. ただし、キャプチャされたテキストが含まれている、返される配列内の要素はカウントされませんを決定する数に一致した部分文字列と等しいかどうかcountします。However, elements in the returned array that contain captured text are not counted in determining whether the number of matched substrings equals count. たとえば、次のコードで正規表現を使用してキャプチャするためのかっこの 2 つのセット日付文字列から日付の要素を抽出します。For example, in the following code, a regular expression uses two sets of capturing parentheses to extract the elements of a date from a date string. かっこのキャプチャの最初のセットは、ハイフンをキャプチャし、2 番目のセットは、スラッシュをキャプチャします。The first set of capturing parentheses captures the hyphen, and the second set captures the forward slash. 呼び出し、Split(String, Int32)返される配列でメソッドが 2 つの要素の最大値にしを指定します。The call to the Split(String, Int32) method then specifies a maximum of two elements in the returned array. コード例をコンパイルして、.NET Framework 1.0 または 1.1 で実行する場合は、2 つの要素の文字列配列を返します。If the example code is compiled and run under the .NET Framework 1.0 or 1.1, the method returns a two-element string array. これをコンパイルおよび .NET Framework 2.0 またはそれ以降のバージョンで実行する場合は、3 要素の文字列配列を返します。If it is compiled and run under the .NET Framework 2.0 or later versions, the method returns a three-element string array.

using System;
using System.Text.RegularExpressions;

public class Example
{
   public static void Main()
   {
      string input = @"07/14/2007";   
      string pattern = @"(-)|(/)";
      Regex regex = new Regex(pattern);
      foreach (string result in regex.Split(input, 2)) 
      {
         Console.WriteLine("'{0}'", result);
      }
   }
}
// Under .NET 1.0 and 1.1, the method returns an array of
// 2 elements, as follows:
//    '07'
//    '14/2007'
//
// Under .NET 2.0 and later, the method returns an array of
// 3 elements, as follows:
//    '07'
//    '/'
//    '14/2007' 
Imports System
Imports System.Text.RegularExpressions

Module Example
   Public Sub Main()
      Dim input As String = "07/14/2007"   
      Dim pattern As String = "(-)|(/)"
      Dim regex As Regex = New Regex(pattern)
      For Each result As String In regex.Split(input, 2) 
         Console.WriteLine("'{0}'", result)
      Next
   End Sub
End Module
' In .NET 1.0 and 1.1, the method returns an array of
' 2 elements, as follows:
'    '07'
'    '14/2007'
'
' In .NET 2.0 and later, the method returns an array of
' 3 elements, as follows:
'    '07'
'    '/'
'    '14/2007' 

正規表現が空の文字列を一致する場合Split(String, Int32)はすべての場所に空の文字列の区切り記号が見つからないので、1 文字の文字列の配列に文字列を分割します。If the regular expression can match the empty string, Split(String, Int32) will split the string into an array of single-character strings because the empty string delimiter can be found at every location. 次の例は、多くの要素とがありますが、入力文字列に文字列「文字」を分割します。The following example splits the string "characters" into as many elements as there are in the input string. Null 文字列が入力文字列の先頭に一致するため、null 文字列が返される配列の先頭に挿入されます。Because the null string matches the beginning of the input string, a null string is inserted at the beginning of the returned array. これにより、入力文字列の最後に 2 つの文字で構成される 10 番目の要素。This causes the tenth element to consist of the two characters at the end of the input string.

Imports System.Text.RegularExpressions

Module Example
   Public Sub Main()
      Dim input As String = "characters"
      Dim regex As New Regex("")
      Dim substrings() As String = regex.Split(input, input.Length)
      Console.Write("{")
      For ctr As Integer = 0 to substrings.Length - 1
         Console.Write(substrings(ctr))
         if ctr < substrings.Length - 1 Then Console.Write(", ")
      Next
      Console.WriteLine("}")
   End Sub
End Module
' The example displays the following output:   
'    {, c, h, a, r, a, c, t, e, rs}

RegexMatchTimeoutException Split 操作の実行時間が指定されたタイムアウト間隔を超えた場合に例外がスローされます、Regex.Regex(String, RegexOptions, TimeSpan)コンス トラクター。The RegexMatchTimeoutException exception is thrown if the execution time of the split operation exceeds the time-out interval specified by the Regex.Regex(String, RegexOptions, TimeSpan) constructor. コンス トラクターを呼び出すときにタイムアウト間隔を設定しない場合、操作をアプリケーション ドメイン用に確立された任意のタイムアウト値を超えた場合に、例外がスロー、Regexオブジェクトが作成されます。If you do not set a time-out interval when you call the constructor, the exception is thrown if the operation exceeds any time-out value established for the application domain in which the Regex object is created. タイムアウトが定義されていない場合、Regexコンス トラクターの呼び出しまたはアプリケーション ドメインのプロパティでは、タイムアウト値がある場合またはRegex.InfiniteMatchTimeout例外はスローされませんIf no time-out is defined in the Regex constructor call or in the application domain's properties, or if the time-out value is Regex.InfiniteMatchTimeout, no exception is thrown

こちらもご覧ください

Split(String) Split(String) Split(String) Split(String)

Regex コンストラクターで指定された正規表現パターンによって定義されている位置で入力文字列を分割し、部分文字列の配列に格納します。Splits an input string into an array of substrings at the positions defined by a regular expression pattern specified in the Regex constructor.

public:
 cli::array <System::String ^> ^ Split(System::String ^ input);
public string[] Split (string input);
member this.Split : string -> string[]
Public Function Split (input As String) As String()

パラメーター

input
String String String String

分割対象の文字列。The string to split.

戻り値

String[]

文字列の配列。An array of strings.

例外

タイムアウトが発生しました。A time-out occurred. タイムアウトの詳細については、「解説」をご覧ください。For more information about time-outs, see the Remarks section.

注釈

Regex.Splitメソッドと似ています、String.Split(Char[])メソッドの点を除いて、Regex.Split一連の文字ではなく正規表現によって決まります区切り記号で文字列を分割します。The Regex.Split methods are similar to the String.Split(Char[]) method, except that Regex.Split splits the string at a delimiter determined by a regular expression instead of a set of characters. 文字列は、可能な回数だけ分割します。The string is split as many times as possible. 区切り記号が検出されない場合、戻り値には、1 つの要素値が元の入力文字列にはが含まれています。If no delimiter is found, the return value contains one element whose value is the original input string.

複数の一致が互いに隣接していない場合、空の文字列は、配列に挿入されます。If multiple matches are adjacent to one another, an empty string is inserted into the array. たとえば、1 つのハイフンで文字列を分割、返される配列に次のコードに示すよう、隣接する 2 つのハイフンが見つかった位置の空の文字列を含めると、します。For example, splitting a string on a single hyphen causes the returned array to include an empty string in the position where two adjacent hyphens are found, as the following code shows.

using System;
using System.Text.RegularExpressions;

public class Example
{
   public static void Main()
   {
      Regex regex = new Regex("-");         // Split on hyphens.
      string[] substrings = regex.Split("plum--pear");
      foreach (string match in substrings)
      {
         Console.WriteLine("'{0}'", match);
      }
   }
}
// The example displays the following output:
//    'plum'
//    ''
//    'pear'      
Imports System.Text.RegularExpressions

Module RegexSplit
   Public Sub Main()
      Dim regex As Regex = New Regex("-")         ' Split on hyphens.
      Dim substrings() As String = regex.Split("plum--pear")
      For Each match As String In substrings
         Console.WriteLine("'{0}'", match)
      Next
   End Sub
End Module
' The example displays the following output:
'    'plum'
'    ''
'    'pear'      

先頭または入力文字列の末尾に一致するものが見つかった場合は空の文字列は、先頭または返される配列の末尾に含まれています。If a match is found at the beginning or the end of the input string, an empty string is included at the beginning or the end of the returned array. 次の例は、正規表現パターンを使用して\d+数値文字で入力文字列を分割します。The following example uses the regular expression pattern \d+ to split an input string on numeric characters. 返される配列の最初と最後の要素の値は、文字列を開始し、一致する文字の数値で終わる、ためString.Emptyします。Because the string begins and ends with matching numeric characters, the value of the first and last element of the returned array is String.Empty.

using System;
using System.Text.RegularExpressions;

public class Example
{
   public static void Main()
   {
      string pattern = @"\d+";
      Regex rgx = new Regex(pattern);
      string input = "123ABCDE456FGHIJKL789MNOPQ012";
      
      string[] result = rgx.Split(input);
      for (int ctr = 0; ctr < result.Length; ctr++) {
         Console.Write("'{0}'", result[ctr]);
         if (ctr < result.Length - 1) 
            Console.Write(", ");
      }
      Console.WriteLine();
   }
}
// The example displays the following output:
//       '', 'ABCDE', 'FGHIJKL', 'MNOPQ', ''
Imports System.Text.RegularExpressions

Module Example
   Public Sub Main()
      Dim pattern As String = "\d+"
      Dim rgx As New Regex(pattern)
      Dim input As String = "123ABCDE456FGHIJKL789MNOPQ012"
      
      Dim result() As String = rgx.Split(input)
      For ctr As Integer = 0 To result.Length - 1
         Console.Write("'{0}'", result(ctr))
         If ctr < result.Length - 1 Then Console.Write(", ")
      Next
      Console.WriteLine()
   End Sub               
End Module
' The example displays the following output:
'       '', 'ABCDE', 'FGHIJKL', 'MNOPQ', ''

キャプチャするかっこを使用する場合、Regex.Split結果の文字列配列に文字が含まれるキャプチャされた任意の式。If capturing parentheses are used in a Regex.Split expression, any captured text is included in the resulting string array. たとえば、"plum-pear"ハイフンでキャプチャするかっこ内に配置される文字列を分割する場合、返される配列にはハイフンを含む文字列の要素が含まれます。For example, if you split the string "plum-pear" on a hyphen placed within capturing parentheses, the returned array includes a string element that contains the hyphen.

using System;
using System.Text.RegularExpressions;

public class Example
{
   public static void Main()
   {
      Regex regex = new Regex("(-)");         // Split on hyphens.
      string[] substrings = regex.Split("plum-pear");
      foreach (string match in substrings)
      {
         Console.WriteLine("'{0}'", match);
      }
   }
}
// The example displays the following output:
//    'plum'
//    '-'
//    'pear'      
Imports System.Text.RegularExpressions

Module Example
   Public Sub Main()
      Dim regex As Regex = New Regex("(-)")          ' Split on hyphens.
      Dim substrings() As String = regex.Split("plum-pear")
      For Each match As String In substrings
         Console.WriteLine("'{0}'", match)
      Next
   End Sub
End Module
' The example displays the following output:
'    'plum'
'    '-'
'    'pear'      

ただし、正規表現パターンには、複数のかっこのキャプチャのセットが含まれている場合、このメソッドの動作は、.NET Framework のバージョンに依存します。However, when the regular expression pattern includes multiple sets of capturing parentheses, the behavior of this method depends on the version of the .NET Framework. .NET Framework 1.0 および 1.1 は、かっこ、キャプチャするための最初のセット内の一致が見つからない場合、追加のキャプチャのかっこからキャプチャされたテキストが返される配列に含まれません。In the .NET Framework 1.0 and 1.1, if a match is not found within the first set of capturing parentheses, captured text from additional capturing parentheses is not included in the returned array. 以降、.NET Framework 2.0 では、すべてのキャプチャされたテキストも、返される配列に追加します。Starting with the .NET Framework 2.0, all captured text is also added to the returned array. たとえば、次のコードは、日付文字列から、日付の区切り文字を含む日付の要素を抽出するのにキャプチャするためのかっこの 2 つのセットを使用します。For example, the following code uses two sets of capturing parentheses to extract the elements of a date, including the date delimiters, from a date string. かっこのキャプチャの最初のセットは、ハイフンをキャプチャし、2 番目のセットは、スラッシュをキャプチャします。The first set of capturing parentheses captures the hyphen, and the second set captures the forward slash. コード例をコンパイルして、.NET Framework 1.0 または 1.1 で実行する場合、スラッシュ文字は含まれませんこれをコンパイルおよび .NET Framework 2.0 またはそれ以降のバージョンで実行する場合に含まれます。If the example code is compiled and run under the .NET Framework 1.0 or 1.1, it excludes the slash characters; if it is compiled and run under the .NET Framework 2.0 or later versions, it includes them.

using System;
using System.Text.RegularExpressions;

public class Example
{
   public static void Main()
   {
      string input = @"07/14/2007";   
      string pattern = @"(-)|(/)";
      Regex regex = new Regex(pattern);
      foreach (string result in regex.Split(input)) 
      {
         Console.WriteLine("'{0}'", result);
      }
   }
}
// Under .NET 1.0 and 1.1, the method returns an array of
// 3 elements, as follows:
//    '07'
//    '14'
//    '2007'
//
// Under .NET 2.0 and later, the method returns an array of
// 5 elements, as follows:
//    '07'
//    '/'
//    '14'
//    '/'
//    '2007' 
Imports System
Imports System.Text.RegularExpressions

Module Example
   Public Sub Main()
      Dim input As String = "07/14/2007"   
      Dim pattern As String = "(-)|(/)"
      Dim regex As Regex = New Regex(pattern)
      For Each result As String In regex.Split(input) 
         Console.WriteLine("'{0}'", result)
      Next
   End Sub
End Module
' In .NET 1.0 and 1.1, the method returns an array of
' 3 elements, as follows:
'    '07'
'    '14'
'    '2007'
'
' In .NET 2.0 and later, the method returns an array of
' 5 elements, as follows:
'    '07'
'    '/'
'    '14'
'    '/'
'    '2007' 

正規表現が空の文字列を一致する場合Split(String)はすべての場所に空の文字列の区切り記号が見つからないので、1 文字の文字列の配列に文字列を分割します。If the regular expression can match the empty string, Split(String) will split the string into an array of single-character strings because the empty string delimiter can be found at every location. 次に例を示します。For example:

using System;
using System.Text.RegularExpressions;

public class Example
{
   public static void Main()
   {
      string input = "characters";
      Regex regex = new Regex("");
      string[] substrings = regex.Split(input);
      Console.Write("{");
      for(int ctr = 0; ctr < substrings.Length; ctr++)
      {
         Console.Write(substrings[ctr]);
         if (ctr < substrings.Length - 1)
            Console.Write(", ");
      }
      Console.WriteLine("}");
   }
}
// The example displays the following output:   
//    {, c, h, a, r, a, c, t, e, r, s, }
Imports System.Text.RegularExpressions

Module Main
   Public Sub Main()
      Dim input As String = "characters"
      Dim regex As New Regex("")
      Dim substrings() As String = regex.Split(input)
      Console.Write("{")
      For ctr As Integer = 0 to substrings.Length - 1
         Console.Write(substrings(ctr))
         If ctr < substrings.Length - 1 Then Console.Write(", ")
      Next
      Console.WriteLine("}")
   End Sub
End Module
' The example produces the following output:   
'    {, c, h, a, r, a, c, t, e, r, s, }

返される配列が配列の末尾、先頭にある空の文字列も含まれることに注意してください。Note that the returned array also includes an empty string at the beginning and end of the array.

RegexMatchTimeoutException Split 操作の実行時間が指定されたタイムアウト間隔を超えた場合に例外がスローされます、Regex.Regex(String, RegexOptions, TimeSpan)コンス トラクター。The RegexMatchTimeoutException exception is thrown if the execution time of the split operation exceeds the time-out interval specified by the Regex.Regex(String, RegexOptions, TimeSpan) constructor. コンス トラクターを呼び出すときにタイムアウト間隔を設定しない場合、操作をアプリケーション ドメイン用に確立された任意のタイムアウト値を超えた場合に、例外がスロー、Regexオブジェクトが作成されます。If you do not set a time-out interval when you call the constructor, the exception is thrown if the operation exceeds any time-out value established for the application domain in which the Regex object is created. タイムアウトが定義されていない場合、Regexコンス トラクターの呼び出しまたはアプリケーション ドメインのプロパティでは、タイムアウト値がある場合またはRegex.InfiniteMatchTimeout例外はスローされませんIf no time-out is defined in the Regex constructor call or in the application domain's properties, or if the time-out value is Regex.InfiniteMatchTimeout, no exception is thrown

こちらもご覧ください

Split(String, String) Split(String, String) Split(String, String) Split(String, String)

正規表現パターンによって定義されている位置で、入力文字列を部分文字列の配列に分割します。Splits an input string into an array of substrings at the positions defined by a regular expression pattern.

public:
 static cli::array <System::String ^> ^ Split(System::String ^ input, System::String ^ pattern);
public static string[] Split (string input, string pattern);
static member Split : string * string -> string[]
Public Shared Function Split (input As String, pattern As String) As String()

パラメーター

input
String String String String

分割対象の文字列。The string to split.

pattern
String String String String

一致させる正規表現パターン。The regular expression pattern to match.

戻り値

String[]

文字列の配列。An array of strings.

例外

正規表現の解析エラーが発生しました。A regular expression parsing error occurred.

input または patternnull です。input or pattern is null.

タイムアウトが発生しました。A time-out occurred. タイムアウトの詳細については、「解説」をご覧ください。For more information about time-outs, see the Remarks section.

注釈

Regex.Splitメソッドと似ています、String.Splitメソッドの点を除いて、Regex.Split一連の文字ではなく正規表現によって決まります区切り記号で文字列を分割します。The Regex.Split methods are similar to the String.Split method, except that Regex.Split splits the string at a delimiter determined by a regular expression instead of a set of characters. inputできるだけ多く繰り返して文字列を分割します。The input string is split as many times as possible. 場合patternに含まれていない、input文字列、戻り値を格納した、元の値を 1 つの要素input文字列。If pattern is not found in the input string, the return value contains one element whose value is the original input string.

patternパラメーターは、シンボルと一致する文字列を記述する正規表現言語要素で構成されています。The pattern parameter consists of regular expression language elements that symbolically describe the string to match. 正規表現の詳細については、次を参照してください。 .NET Framework の正規表現正規表現言語 - クイック リファレンスします。For more information about regular expressions, see .NET Framework Regular Expressions and Regular Expression Language - Quick Reference.

重要

静的な呼び出しで使用される正規表現をコンパイルSplitメソッドが自動的にキャッシュします。Compiled regular expressions used in calls to static Split methods are automatically cached. コンパイルされた正規表現の有効期間を自分で管理するインスタンスを使用して、Splitメソッド。To manage the lifetime of compiled regular expressions yourself, use the instance Split methods.

複数の一致が互いに隣接していない場合、空の文字列は、配列に挿入されます。If multiple matches are adjacent to one another, an empty string is inserted into the array. たとえば、1 つのハイフンで文字列を分割、返される配列に次のコードに示すよう、隣接する 2 つのハイフンが見つかった位置の空の文字列を含めると、します。For example, splitting a string on a single hyphen causes the returned array to include an empty string in the position where two adjacent hyphens are found, as the following code shows.

using System;
using System.Text.RegularExpressions;

public class Example
{
   public static void Main()
   {
      string input = "plum--pear";
      string pattern = "-";            // Split on hyphens
      
      string[] substrings = Regex.Split(input, pattern);
      foreach (string match in substrings)
      {
         Console.WriteLine("'{0}'", match);
      }
   }
}
// The method displays the following output:
//    'plum'
//    ''
//    'pear'      
Imports System.Text.RegularExpressions

Module Example
   Public Sub Main()
      Dim input As String = "plum--pear"
      Dim pattern As String = "-"          ' Split on hyphens
      
      Dim substrings() As String = Regex.Split(input, pattern)
      For Each match As String In substrings
         Console.WriteLine("'{0}'", match)
      Next
   End Sub  
End Module
' The example displays the following output:
'    'plum'
'    ''
'    'pear'      

先頭または入力文字列の末尾に一致するものが見つかった場合は空の文字列は、先頭または返される配列の末尾に含まれています。If a match is found at the beginning or the end of the input string, an empty string is included at the beginning or the end of the returned array. 次の例は、正規表現パターンを使用して\d+数値文字で入力文字列を分割します。The following example uses the regular expression pattern \d+ to split an input string on numeric characters. 返される配列の最初と最後の要素の値は、文字列を開始し、一致する文字の数値で終わる、ためString.Emptyします。Because the string begins and ends with matching numeric characters, the value of the first and last element of the returned array is String.Empty.

using System;
using System.Text.RegularExpressions;

public class Example
{
   public static void Main()
   {
      string pattern = @"\d+";
      string input = "123ABCDE456FGHIJKL789MNOPQ012";
      string[] result = Regex.Split(input, pattern);
      for (int ctr = 0; ctr < result.Length; ctr++) {
         Console.Write("'{0}'", result[ctr]);
         if (ctr < result.Length - 1) 
            Console.Write(", ");
      }
      Console.WriteLine();
   }
}
// The example displays the following output:
//       '', 'ABCDE', 'FGHIJKL', 'MNOPQ', ''
Imports System.Text.RegularExpressions

Module Example
   Public Sub Main()
      Dim pattern As String = "\d+"
      Dim input As String = "123ABCDE456FGHIJKL789MNOPQ012"
      Dim result() As String = Regex.Split(input, pattern)
      For ctr As Integer = 0 To result.Length - 1
         Console.Write("'{0}'", result(ctr))
         If ctr < result.Length - 1 Then Console.Write(", ")
      Next
      Console.WriteLine()
   End Sub               
End Module
' The example displays the following output:
'       '', 'ABCDE', 'FGHIJKL', 'MNOPQ', ''

キャプチャするかっこを使用する場合、Regex.Split結果の文字列配列に文字が含まれるキャプチャされた任意の式。If capturing parentheses are used in a Regex.Split expression, any captured text is included in the resulting string array. たとえば、"plum-pear"ハイフンでキャプチャするかっこ内に配置される文字列を分割する場合、返される配列にはハイフンを含む文字列の要素が含まれます。For example, if you split the string "plum-pear" on a hyphen placed within capturing parentheses, the returned array includes a string element that contains the hyphen.

using System;
using System.Text.RegularExpressions;

public class Example
{
   public static void Main()
   {
      string input = "plum-pear";
      string pattern = "(-)";

      string[] substrings = Regex.Split(input, pattern);    // Split on hyphens
      foreach (string match in substrings)
      {
         Console.WriteLine("'{0}'", match);
      }
   }
}
// The example displays the following output:
//    'plum'
//    '-'
//    'pear'      
Imports System.Text.RegularExpressions

Module Example
   Public Sub Main()
      Dim input As String = "plum-pear"
      Dim pattern As String = "(-)" 
      
      Dim substrings() As String = Regex.Split(input, pattern)    ' Split on hyphens.
      For Each match As String In substrings
         Console.WriteLine("'{0}'", match)
      Next
   End Sub
End Module
' The method writes the following to the console:
'    'plum'
'    '-'
'    'pear'      

ただし、正規表現パターンには、複数のかっこのキャプチャのセットが含まれている場合、このメソッドの動作は、.NET Framework のバージョンに依存します。However, when the regular expression pattern includes multiple sets of capturing parentheses, the behavior of this method depends on the version of the .NET Framework. .NET Framework 1.0 および 1.1 は、かっこ、キャプチャするための最初のセット内の一致が見つからない場合、追加のキャプチャのかっこからキャプチャされたテキストが返される配列に含まれません。In the .NET Framework 1.0 and 1.1, if a match is not found within the first set of capturing parentheses, captured text from additional capturing parentheses is not included in the returned array. 以降、.NET Framework 2.0 では、すべてのキャプチャされたテキストも、返される配列に追加します。Starting with the .NET Framework 2.0, all captured text is also added to the returned array. たとえば、次のコードは、日付文字列から、日付の区切り文字を含む日付の要素を抽出するのにキャプチャするためのかっこの 2 つのセットを使用します。For example, the following code uses two sets of capturing parentheses to extract the elements of a date, including the date delimiters, from a date string. かっこのキャプチャの最初のセットは、ハイフンをキャプチャし、2 番目のセットは、スラッシュをキャプチャします。The first set of capturing parentheses captures the hyphen, and the second set captures the forward slash. コード例をコンパイルして、.NET Framework 1.0 または 1.1 で実行する場合、スラッシュ文字は含まれませんこれをコンパイルおよび .NET Framework 2.0 またはそれ以降のバージョンで実行する場合に含まれます。If the example code is compiled and run under the .NET Framework 1.0 or 1.1, it excludes the slash characters; if it is compiled and run under the .NET Framework 2.0 or later versions, it includes them.

using System;
using System.Text.RegularExpressions;

public class Example
{
   public static void Main()
   {
      string input = @"07/14/2007";   
      string pattern = @"(-)|(/)";

      foreach (string result in Regex.Split(input, pattern)) 
      {
         Console.WriteLine("'{0}'", result);
      }
   }
}
// In .NET 1.0 and 1.1, the method returns an array of
// 3 elements, as follows:
//    '07'
//    '14'
//    '2007'
//
// In .NET 2.0 and later, the method returns an array of
// 5 elements, as follows:
//    '07'
//    '/'
//    '14'
//    '/'
//    '2007' 
Imports System
Imports System.Text.RegularExpressions

Module Example
   Public Sub Main()
      Dim input As String = "07/14/2007"   
      Dim pattern As String = "(-)|(/)"
      For Each result As String In Regex.Split(input, pattern) 
         Console.WriteLine("'{0}'", result)
      Next
   End Sub
End Module
' In .NET 1.0 and 1.1, the method returns an array of
' 3 elements, as follows:
'    '07'
'    '14'
'    '2007'
'
' In .NET 2.0 and later, the method returns an array of
' 5 elements, as follows:
'    '07'
'    '/'
'    '14'
'    '/'
'    '2007' 

正規表現が空の文字列を一致する場合Splitはすべての場所に空の文字列の区切り記号が見つからないので、1 文字の文字列の配列に文字列を分割します。If the regular expression can match the empty string, Split will split the string into an array of single-character strings because the empty string delimiter can be found at every location. 次に例を示します。For example:

using System;
using System.Text.RegularExpressions;

public class Example
{
   public static void Main()
   {
      string input = "characters";
      string[] substrings = Regex.Split(input, "");
      Console.Write("{");
      for(int ctr = 0; ctr < substrings.Length; ctr++)
      {
         Console.Write("'{0}'", substrings[ctr]);
         if (ctr < substrings.Length - 1)
            Console.Write(", ");
      }
      Console.WriteLine("}");
   }
}
// The example produces the following output:   
//    {'', 'c', 'h', 'a', 'r', 'a', 'c', 't', 'e', 'r', 's', ''}
Imports System.Text.RegularExpressions

Module Example
   Public Sub Main()
      Dim input As String = "characters"
      Dim substrings() As String = Regex.Split(input, "")
      Console.Write("{")
      For ctr As Integer = 0 to substrings.Length - 1
         Console.Write("'{0}'", substrings(ctr))
         If ctr < substrings.Length - 1 Then Console.Write(", ")
      Next
      Console.WriteLine("}")
   End Sub
End Module
' The example produces the following output:   
'    {'', 'c', 'h', 'a', 'r', 'a', 'c', 't', 'e', 'r', 's', ''}

返される配列が配列の末尾、先頭にある空の文字列も含まれることに注意してください。Note that the returned array also includes an empty string at the beginning and end of the array.

RegexMatchTimeoutException Split 操作の実行時間が、メソッドが呼び出されて、アプリケーション ドメインの指定されたタイムアウト間隔を超えた場合に例外がスローされます。The RegexMatchTimeoutException exception is thrown if the execution time of the split operation exceeds the time-out interval specified for the application domain in which the method is called. アプリケーション ドメインのプロパティでは、タイムアウトが定義されていない場合、またはタイムアウト値は、Regex.InfiniteMatchTimeout例外はスローされません。If no time-out is defined in the application domain's properties, or if the time-out value is Regex.InfiniteMatchTimeout, no exception is thrown.

注意 (呼び出し元)

このメソッドが、メソッドが呼び出されて、アプリケーション ドメインの既定のタイムアウト値に等しい間隔後にタイムアウトが発生しました。This method times out after an interval that is equal to the default time-out value of the application domain in which the method is called. 値は、アプリケーション ドメインのタイムアウト値が定義されていない場合InfiniteMatchTimeout、タイムアウトしたからメソッドを防ぐことが使用されます。If a time-out value has not been defined for the application domain, the value InfiniteMatchTimeout, which prevents the method from timing out, is used. パターン一致する場合にテキストを分割するための推奨される静的メソッドはSplit(String, String, RegexOptions, TimeSpan)、タイムアウト間隔を設定することができます。The recommended static method for splitting text on a pattern match is Split(String, String, RegexOptions, TimeSpan), which lets you set the time-out interval.

こちらもご覧ください

適用対象