Regex.Match Regex.Match Regex.Match Regex.Match Method

定義

正規表現パターンと一致する部分文字列の入力文字列を検索し、最初に一致したものを 1 つの Match オブジェクトとして返します。Searches an input string for a substring that matches a regular expression pattern and returns the first occurrence as a single Match object.

オーバーロード

Match(String, String, RegexOptions, TimeSpan) Match(String, String, RegexOptions, TimeSpan) Match(String, String, RegexOptions, TimeSpan) Match(String, String, RegexOptions, TimeSpan)

指定した一致オプションとタイムアウト間隔を使用して、入力文字列内で、指定した正規表現に最初に一致する箇所を検索します。Searches the input string for the first occurrence of the specified regular expression, using the specified matching options and time-out interval.

Match(String, Int32, Int32) Match(String, Int32, Int32) Match(String, Int32, Int32) Match(String, Int32, Int32)

入力文字列内の指定した開始位置から開始し、指定した文字数だけを検索対象として、その入力文字列内で正規表現に最初に一致する箇所を検索します。Searches the input string for the first occurrence of a regular expression, beginning at the specified starting position and searching only the specified number of characters.

Match(String, String, RegexOptions) Match(String, String, RegexOptions) Match(String, String, RegexOptions) Match(String, String, RegexOptions)

指定した一致オプションを使用して、入力文字列内で、指定した正規表現に最初に一致する箇所を検索します。Searches the input string for the first occurrence of the specified regular expression, using the specified matching options.

Match(String, Int32) Match(String, Int32) Match(String, Int32) Match(String, Int32)

入力文字列内の指定した開始位置から開始して、その入力文字列内で正規表現に最初に一致する箇所を検索します。Searches the input string for the first occurrence of a regular expression, beginning at the specified starting position in the string.

Match(String) Match(String) Match(String) Match(String)

指定した入力文字列内で、Regex コンストラクターで指定された正規表現と最初に一致する対象を 1 つ検索します。Searches the specified input string for the first occurrence of the regular expression specified in the Regex constructor.

Match(String, String) Match(String, String) Match(String, String) Match(String, String)

指定した入力文字列内で、指定した正規表現に最初に一致する箇所を検索します。Searches the specified input string for the first occurrence of the specified regular expression.

Match(String, String, RegexOptions, TimeSpan) Match(String, String, RegexOptions, TimeSpan) Match(String, String, RegexOptions, TimeSpan) Match(String, String, RegexOptions, TimeSpan)

指定した一致オプションとタイムアウト間隔を使用して、入力文字列内で、指定した正規表現に最初に一致する箇所を検索します。Searches the input string for the first occurrence of the specified regular expression, using the specified matching options and time-out interval.

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

パラメーター

input
String String String String

一致する対象を検索する文字列。The string to search for a match.

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.

戻り値

一致に関する情報を格納しているオブジェクト。An object that contains information about the match.

例外

正規表現の解析エラーが発生しました。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.

注釈

Match(String, String, RegexOptions, TimeSpan)メソッドは、入力文字列内の正規表現パターンに一致する最初の部分文字列を返します。The Match(String, String, RegexOptions, TimeSpan) method returns the first substring that matches a regular expression pattern in an input string. 正規表現パターンを構築するために使用する言語要素については、次を参照してください。正規表現言語 - クイック リファレンスします。For information about the language elements used to build a regular expression pattern, see Regular Expression Language - Quick Reference.

静的なMatch(String, String, RegexOptions, TimeSpan)メソッドを作成するのには、RegexオブジェクトをRegex(String, RegexOptions, TimeSpan)コンス トラクターを呼び出すインスタンスMatch(String)メソッド。The static Match(String, String, RegexOptions, TimeSpan) method is equivalent to constructing a Regex object with the Regex(String, RegexOptions, TimeSpan) constructor and calling the instance Match(String) method.

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.

正規表現パターンが、返された値をチェックして入力文字列内で見つかったされているかどうかを判断するMatchオブジェクトのSuccessプロパティ。You can determine whether the regular expression pattern has been found in the input string by checking the value of the returned Match object's Success property. 一致が見つかった場合、返されたMatchオブジェクトのValueプロパティにはから部分文字列が含まれていますinput正規表現パターンに一致します。If a match is found, the returned Match object's Value property contains the substring from input that matches the regular expression pattern. 一致が検出されない場合、値はString.Emptyします。If no match is found, its value is String.Empty.

このメソッドで見つかった最初の部分文字列を返しますinput正規表現パターンに一致します。This method returns the first substring found in input that matches the regular expression pattern. 後続の一致するを取得するには、返されたを繰り返し呼び出すMatchオブジェクトのNextMatchメソッド。You can retrieve subsequent matches by repeatedly calling the returned Match object's NextMatch method. 呼び出すことによって、1 つのメソッドの呼び出しですべての一致項目を取得することも、Regex.Matches(String, String, RegexOptions)メソッド。You can also retrieve all matches in a single method call by calling the Regex.Matches(String, String, RegexOptions) method.

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.

こちらもご覧ください

Match(String, Int32, Int32) Match(String, Int32, Int32) Match(String, Int32, Int32) Match(String, Int32, Int32)

入力文字列内の指定した開始位置から開始し、指定した文字数だけを検索対象として、その入力文字列内で正規表現に最初に一致する箇所を検索します。Searches the input string for the first occurrence of a regular expression, beginning at the specified starting position and searching only the specified number of characters.

public:
 System::Text::RegularExpressions::Match ^ Match(System::String ^ input, int beginning, int length);
public System.Text.RegularExpressions.Match Match (string input, int beginning, int length);
member this.Match : string * int * int -> System.Text.RegularExpressions.Match
Public Function Match (input As String, beginning As Integer, length As Integer) As Match

パラメーター

input
String String String String

一致する対象を検索する文字列。The string to search for a match.

beginning
Int32 Int32 Int32 Int32

検索対象の左端の位置を定義する、入力文字列内の 0 から始まる文字位置。The zero-based character position in the input string that defines the leftmost position to be searched.

length
Int32 Int32 Int32 Int32

検索に含める部分文字列の文字数。The number of characters in the substring to include in the search.

戻り値

一致に関する情報を格納しているオブジェクト。An object that contains information about the match.

例外

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

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

または-or- beginning+length-1input の範囲外の位置を識別しています。beginning+length-1 identifies a position that is outside the range of input.

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

注釈

Match(String, Int32, Int32)メソッドは、入力文字列の一部の正規表現パターンに一致する最初の部分文字列を返します。The Match(String, Int32, Int32) method returns the first substring that matches a regular expression pattern in a portion of an input string. 正規表現パターンを構築するために使用する言語要素については、次を参照してください。正規表現言語 - クイック リファレンスします。For information about the language elements used to build a regular expression pattern, see Regular Expression Language - Quick Reference.

対象の正規表現パターン、Match(String, Int32, Int32)のいずれかへの呼び出しによってメソッドの検索条件が定義されている、Regexクラスのコンス トラクター。The regular expression pattern for which the Match(String, Int32, Int32) method searches is defined by the call to one of the Regex class constructors. 正規表現パターンを形成することができる要素についての詳細については、次を参照してください。正規表現言語 - クイック リファレンスします。For more information about the elements that can form a regular expression pattern, see Regular Expression Language - Quick Reference.

Match(String, Int32, Int32)メソッドの部分を検索するinputによって定義された、beginninglength正規表現パターンのパラメーター。The Match(String, Int32, Int32) method searches the portion of input defined by the beginning and length parameters for the regular expression pattern. beginning 常に、検索に含める左端の文字のインデックスを定義し、lengthを検索する文字の最大数を定義します。beginning always defines the index of the leftmost character to include in the search, and length defines the maximum number of characters to search. 同時に、検索の範囲を定義します。Together, they define the range of the search. 左から右 (既定値) に進むと、検索、正規表現エンジンがインデックス位置にある文字から検索beginningインデックス位置にある文字をbeginning + length - 1。If the search proceeds from left to right (the default), the regular expression engine searches from the character at index beginning to the character at index beginning + length - 1. 使用して、正規表現エンジンがインスタンス化された場合、RegexOptions.RightToLeftオプションのままにした正規表現エンジンの検索インデックスにある文字から検索が実行を右からbeginning + length - 1 に、文字インデックス位置にあるbeginningします。If the regular expression engine was instantiated by using the RegexOptions.RightToLeft option so that the search proceeds from right to left, the regular expression engine searches from the character at index beginning + length - 1 to the character at index beginning. このメソッドは、この範囲内で見つかった最初の一致を返します。This method returns the first match that it finds within this range. 後続の一致するを取得するには、返されたを繰り返し呼び出すMatchオブジェクトのMatch.NextMatchメソッド。You can retrieve subsequent matches by repeatedly calling the returned Match object's Match.NextMatch method.

正規表現パターンが、返された値をチェックして入力文字列内で見つかったされているかどうかを判断するMatchオブジェクトのSuccessプロパティ。You can determine whether the regular expression pattern has been found in the input string by checking the value of the returned Match object's Success property. 一致が見つかった場合、返されたMatchオブジェクトのValueプロパティにはから部分文字列が含まれていますinput正規表現パターンに一致します。If a match is found, the returned Match object's Value property contains the substring from input that matches the regular expression pattern. 一致が検出されない場合、値はString.Emptyします。If no match is found, its value is String.Empty.

RegexMatchTimeoutException照合操作の実行時間が指定されたタイムアウト間隔を超えた場合に例外がスローされます、Regex.Regex(String, RegexOptions, TimeSpan)コンス トラクター。The RegexMatchTimeoutException exception is thrown if the execution time of the matching operation exceeds the time-out interval specified by the Regex.Regex(String, RegexOptions, TimeSpan) constructor. コンス トラクターを呼び出すときにタイムアウト値を設定しない場合、操作をアプリケーション ドメイン用に確立された任意のタイムアウト値を超えた場合に、例外がスロー、Regexオブジェクトが作成されます。If you do not set a time-out value 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.

こちらもご覧ください

Match(String, String, RegexOptions) Match(String, String, RegexOptions) Match(String, String, RegexOptions) Match(String, String, RegexOptions)

指定した一致オプションを使用して、入力文字列内で、指定した正規表現に最初に一致する箇所を検索します。Searches the input string for the first occurrence of the specified regular expression, using the specified matching options.

public:
 static System::Text::RegularExpressions::Match ^ Match(System::String ^ input, System::String ^ pattern, System::Text::RegularExpressions::RegexOptions options);
public static System.Text.RegularExpressions.Match Match (string input, string pattern, System.Text.RegularExpressions.RegexOptions options);
static member Match : string * string * System.Text.RegularExpressions.RegexOptions -> System.Text.RegularExpressions.Match
Public Shared Function Match (input As String, pattern As String, options As RegexOptions) As Match

パラメーター

input
String String String String

一致する対象を検索する文字列。The string to search for a match.

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.

戻り値

一致に関する情報を格納しているオブジェクト。An object that contains information about the match.

例外

正規表現の解析エラーが発生しました。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.

次の例では、英字で始まる単語と一致する正規表現を定義する"a"です。The following example defines a regular expression that matches words beginning with the letter "a". 使用して、RegexOptions.IgnoreCase正規表現が"a"と小文字を両方大文字で始まる単語を検索することを確認するにはオプション"a"です。It uses the RegexOptions.IgnoreCase option to ensure that the regular expression locates words beginning with both an uppercase "a" and a lowercase "a".

using System;
using System.Text.RegularExpressions;

public class Example
{
   public static void Main()
   {
      string pattern = @"\ba\w*\b";
      string input = "An extraordinary day dawns with each new day.";
      Match m = Regex.Match(input, pattern, RegexOptions.IgnoreCase);
      if (m.Success)
         Console.WriteLine("Found '{0}' at position {1}.", m.Value, m.Index);
   }
}
// The example displays the following output:
//        Found 'An' at position 0.
Imports System.Text.RegularExpressions

Module Example
   Public Sub Main()
      Dim pattern As String = "\ba\w*\b"
      Dim input As String = "An extraordinary day dawns with each new day."
      Dim m As Match = Regex.Match(input, pattern, RegexOptions.IgnoreCase)
      If m.Success Then
         Console.WriteLine("Found '{0}' at position {1}.", m.Value, m.Index)
      End If
   End Sub
End Module
' The example displays the following output:
'       Found 'An' at position 0.

この正規表現パターン \ba\w*\b の解釈を次の表に示します。The regular expression pattern \ba\w*\b is interpreted as shown in the following table.

パターンPattern 説明Description
\b ワード境界から照合を開始します。Begin the match at a word boundary.
a 文字"a"です。Match the character "a".
\w* 0、1、または複数の単語文字と一致します。Match zero, one, or more word characters.
\b ワード境界で照合を終了します。End the match at a word boundary.

注釈

Match(String, String, RegexOptions)メソッドは、入力文字列内の正規表現パターンに一致する最初の部分文字列を返します。The Match(String, String, RegexOptions) method returns the first substring that matches a regular expression pattern in an input string. 正規表現パターンを構築するために使用する言語要素については、次を参照してください。正規表現言語 - クイック リファレンスします。For information about the language elements used to build a regular expression pattern, see Regular Expression Language - Quick Reference.

静的なMatch(String, String, RegexOptions)メソッドを作成するのには、RegexオブジェクトをRegex(String, RegexOptions)コンス トラクターを呼び出すインスタンスMatch(String)メソッド。The static Match(String, String, RegexOptions) method is equivalent to constructing a Regex object with the Regex(String, RegexOptions) constructor and calling the instance Match(String) method.

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.

正規表現パターンが、返された値をチェックして入力文字列内で見つかったされているかどうかを判断するMatchオブジェクトのSuccessプロパティ。You can determine whether the regular expression pattern has been found in the input string by checking the value of the returned Match object's Success property. 一致が見つかった場合、返されたMatchオブジェクトのValueプロパティにはから部分文字列が含まれていますinput正規表現パターンに一致します。If a match is found, the returned Match object's Value property contains the substring from input that matches the regular expression pattern. 一致が検出されない場合、値はString.Emptyします。If no match is found, its value is String.Empty.

このメソッドで見つかった最初の部分文字列を返しますinput正規表現パターンに一致します。This method returns the first substring found in input that matches the regular expression pattern. 後続の一致するを取得するには、返されたを繰り返し呼び出すMatchオブジェクトのNextMatchメソッド。You can retrieve subsequent matches by repeatedly calling the returned Match object's NextMatch method. 呼び出すことによって、1 つのメソッドの呼び出しですべての一致項目を取得することも、Regex.Matches(String, String, RegexOptions)メソッド。You can also retrieve all matches in a single method call by calling the Regex.Matches(String, String, RegexOptions) method.

RegexMatchTimeoutException照合操作の実行時間が、メソッドが呼び出されて、アプリケーション ドメインの指定されたタイムアウト間隔を超えた場合に例外がスローされます。The RegexMatchTimeoutException exception is thrown if the execution time of the matching 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 it 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. パターン一致を取得するための推奨される静的メソッドはMatch(String, String)、タイムアウト間隔を設定することができます。The recommended static method for retrieving a pattern match is Match(String, String), which lets you set the time-out interval.

こちらもご覧ください

Match(String, Int32) Match(String, Int32) Match(String, Int32) Match(String, Int32)

入力文字列内の指定した開始位置から開始して、その入力文字列内で正規表現に最初に一致する箇所を検索します。Searches the input string for the first occurrence of a regular expression, beginning at the specified starting position in the string.

public:
 System::Text::RegularExpressions::Match ^ Match(System::String ^ input, int startat);
public System.Text.RegularExpressions.Match Match (string input, int startat);
member this.Match : string * int -> System.Text.RegularExpressions.Match
Public Function Match (input As String, startat As Integer) As Match

パラメーター

input
String String String String

一致する対象を検索する文字列。The string to search for a match.

startat
Int32 Int32 Int32 Int32

検索を開始する 0 から始まる文字位置。The zero-based character position at which to start the search.

戻り値

一致に関する情報を格納しているオブジェクト。An object that contains information about the match.

例外

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.

注釈

Match(String, Int32)または後から始まります正規表現パターンに一致する最初の部分文字列を返します、startat文字、入力文字列内の位置。The Match(String, Int32) method returns the first substring that matches a regular expression pattern, starting at or after the startat character position, in an input string. 正規表現パターンを構築するために使用する言語要素については、次を参照してください。正規表現言語 - クイック リファレンスします。For information about the language elements used to build a regular expression pattern, see Regular Expression Language - Quick Reference.

対象の正規表現パターン、Match(String, Int32)のいずれかへの呼び出しによってメソッドの検索条件が定義されている、Regexクラスのコンス トラクター。The regular expression pattern for which the Match(String, Int32) method searches is defined by the call to one of the Regex class constructors. 正規表現パターンを形成することができる要素についての詳細については、次を参照してください。正規表現言語 - クイック リファレンスします。For more information about the elements that can form a regular expression pattern, see Regular Expression Language - Quick Reference.

必要に応じてを使用して、文字列内の開始位置を指定することができます、startatパラメーター。You can optionally specify a starting position in the string by using the startat parameter. 正規表現エンジンは、左から右 (既定値) に解析、ときに、一致して、スキャンに移動し、右方向で指定された文字から始まるstartatします。When the regular expression engine parses from left to right (the default), the match and the scan move rightward, starting at the character specified in startat. 正規表現エンジンが右から左に解析します (正規表現パターンがでどのように構築されている場合、RegexOptions.RightToLeftオプション)、反対方向に移動しにある文字で始まる一致とスキャンstartat-1。When the regular expression engine parses from right to left (when the regular expression pattern is constructed with the RegexOptions.RightToLeft option), the match and scan move in the opposite direction and begin with the character at startat -1. 既定値から検索を開始する開始位置を指定しない場合startat位置。If you do not specify a starting position, the search begins at the default startat position. 左から右に、既定値に、正規表現検索する場合startatの左の端に配置されてinputかどうかに、右から検索は左、既定値startatの右端に配置されてinputIf the regular expression searches from left to right, the default startat position is at the left end of input; if it searches from right to left, the default startat position is at the right end of input.

文字列内の特定の文字位置から開始し、正規表現エンジンが一致文字列の残りの部分をスキャンしないように制限する場合は、アンカーを正規表現を\G(左から右の左側にあります。パターン、または右から左のパターンを右側にある)。If you want to restrict a match so that it begins at a particular character position in the string and the regular expression engine does not scan the remainder of the string for a match, anchor the regular expression with a \G (at the left for a left-to-right pattern, or at the right for a right-to-left pattern). これで始まる必要がありますので、一致に制限startatします。This restricts the match so it must start exactly at startat.

正規表現パターンが、返された値をチェックして入力文字列内で見つかったされているかどうかを判断するMatchオブジェクトのSuccessプロパティ。You can determine whether the regular expression pattern has been found in the input string by checking the value of the returned Match object's Success property. 一致が見つかった場合、返されたMatchオブジェクトのValueプロパティにはから部分文字列が含まれていますinput正規表現パターンに一致します。If a match is found, the returned Match object's Value property contains the substring from input that matches the regular expression pattern. 一致が検出されない場合、値はString.Emptyします。If no match is found, its value is String.Empty.

このメソッドは、以降に見つかった最初の部分文字列を返します、startat内の位置の文字input正規表現パターンに一致します。This method returns the first substring found at or after the startat character position in input that matches the regular expression pattern. 後続の一致するを取得するには、返されたを繰り返し呼び出すMatchオブジェクトのMatch.NextMatchメソッド。You can retrieve subsequent matches by repeatedly calling the returned Match object's Match.NextMatch method. 呼び出すことによって、1 つのメソッドの呼び出しですべての一致項目を取得することも、Regex.Matches(String, Int32)メソッド。You can also retrieve all matches in a single method call by calling the Regex.Matches(String, Int32) method.

RegexMatchTimeoutException照合操作の実行時間が指定されたタイムアウト間隔を超えた場合に例外がスローされます、Regex.Regex(String, RegexOptions, TimeSpan)コンス トラクター。The RegexMatchTimeoutException exception is thrown if the execution time of the matching 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.

こちらもご覧ください

Match(String) Match(String) Match(String) Match(String)

指定した入力文字列内で、Regex コンストラクターで指定された正規表現と最初に一致する対象を 1 つ検索します。Searches the specified input string for the first occurrence of the regular expression specified in the Regex constructor.

public:
 System::Text::RegularExpressions::Match ^ Match(System::String ^ input);
public System.Text.RegularExpressions.Match Match (string input);
member this.Match : string -> System.Text.RegularExpressions.Match
Public Function Match (input As String) As Match

パラメーター

input
String String String String

一致する対象を検索する文字列。The string to search for a match.

戻り値

一致に関する情報を格納しているオブジェクト。An object that contains information about the match.

例外

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

次の例は、正規表現パターン文字列に一致し、一致するリストを検索します。 グループ、キャプチャ、およびキャプチャの位置。The following example finds regular expression pattern matches in a string, then lists the matched groups, captures, and capture positions.

#using <System.dll>

using namespace System;
using namespace System::Text::RegularExpressions;
void main()
{
   
   String^ text = "One car red car blue car";
   String^ pat = "(\\w+)\\s+(car)";
   
   // Compile the regular expression.
   Regex^ r = gcnew Regex( pat,RegexOptions::IgnoreCase );
   
   // Match the regular expression pattern against a text string.
   Match^ m = r->Match(text);
   int matchCount = 0;
   while ( m->Success )
   {
      Console::WriteLine( "Match{0}", ++matchCount );
      for ( int i = 1; i <= 2; i++ )
      {
         Group^ g = m->Groups[ i ];
         Console::WriteLine( "Group{0}='{1}'", i, g );
         CaptureCollection^ cc = g->Captures;
         for ( int j = 0; j < cc->Count; j++ )
         {
            Capture^ c = cc[ j ];
            System::Console::WriteLine( "Capture{0}='{1}', Position={2}", j, c, c->Index );
         }
      }
      m = m->NextMatch();
   }
}  
// This example displays the following output:
//       Match1
//       Group1='One'
//       Capture0='One', Position=0
//       Group2='car'
//       Capture0='car', Position=4
//       Match2
//       Group1='red'
//       Capture0='red', Position=8
//       Group2='car'
//       Capture0='car', Position=12
//       Match3
//       Group1='blue'
//       Capture0='blue', Position=16
//       Group2='car'
//       Capture0='car', Position=21
using System;
using System.Text.RegularExpressions;

class Example 
{
   static void Main() 
   {
      string text = "One car red car blue car";
      string pat = @"(\w+)\s+(car)";

      // Instantiate the regular expression object.
      Regex r = new Regex(pat, RegexOptions.IgnoreCase);
      
      // Match the regular expression pattern against a text string.
      Match m = r.Match(text);
      int matchCount = 0;
      while (m.Success) 
      {
         Console.WriteLine("Match"+ (++matchCount));
         for (int i = 1; i <= 2; i++) 
         {
            Group g = m.Groups[i];
            Console.WriteLine("Group"+i+"='" + g + "'");
            CaptureCollection cc = g.Captures;
            for (int j = 0; j < cc.Count; j++) 
            {
               Capture c = cc[j];
               System.Console.WriteLine("Capture"+j+"='" + c + "', Position="+c.Index);
            }
         }
         m = m.NextMatch();
      }
   }
}
// This example displays the following output:
//       Match1
//       Group1='One'
//       Capture0='One', Position=0
//       Group2='car'
//       Capture0='car', Position=4
//       Match2
//       Group1='red'
//       Capture0='red', Position=8
//       Group2='car'
//       Capture0='car', Position=12
//       Match3
//       Group1='blue'
//       Capture0='blue', Position=16
//       Group2='car'
//       Capture0='car', Position=21
Imports System.Text.RegularExpressions

Module Example
   Public Sub Main()
      Dim text As String = "One car red car blue car"
      Dim pattern As String = "(\w+)\s+(car)"

      ' Instantiate the regular expression object.
      Dim r As Regex = new Regex(pattern, RegexOptions.IgnoreCase)

      ' Match the regular expression pattern against a text string.
      Dim m As Match = r.Match(text)
      Dim matchcount as Integer = 0
      Do While m.Success
         matchCount += 1
         Console.WriteLine("Match" & (matchCount))
         Dim i As Integer
         For i = 1 to 2
            Dim g as Group = m.Groups(i)
            Console.WriteLine("Group" & i & "='" & g.ToString() & "'")
            Dim cc As CaptureCollection = g.Captures
            Dim j As Integer 
            For j = 0 to cc.Count - 1
      	      Dim c As Capture = cc(j)
               Console.WriteLine("Capture" & j & "='" & c.ToString() _
                  & "', Position=" & c.Index)
            Next 
         Next 
         m = m.NextMatch()
      Loop
   End Sub
End Module
' This example displays the following output:
'       Match1
'       Group1='One'
'       Capture0='One', Position=0
'       Group2='car'
'       Capture0='car', Position=4
'       Match2
'       Group1='red'
'       Capture0='red', Position=8
'       Group2='car'
'       Capture0='car', Position=12
'       Match3
'       Group1='blue'
'       Capture0='blue', Position=16
'       Group2='car'
'       Capture0='car', Position=21

正規表現パターン(\w+)\s+(car)と共にその前にある単語"car"という単語の出現と一致します。The regular expression pattern (\w+)\s+(car) matches occurrences of the word "car" along with the word that precedes it. 次の表に示すように解釈されます。It is interpreted as shown in the following table.

パターンPattern 説明Description
(\w+) 1 つ以上の単語文字に一致します。Match one or more word characters. これが最初のキャプチャ グループです。This is the first capturing group.
\s+ 1 つ以上の空白文字と一致します。Match one or more white-space characters.
(car)(car) リテラル文字列"car"と一致します。Match the literal string "car". これが 2 番目のキャプチャ グループです。This is the second capturing group.

注釈

Match(String)メソッドは、入力文字列内の正規表現パターンに一致する最初の部分文字列を返します。The Match(String) method returns the first substring that matches a regular expression pattern in an input string. 正規表現パターンを構築するために使用する言語要素については、次を参照してください。正規表現言語 - クイック リファレンスします。For information about the language elements used to build a regular expression pattern, see Regular Expression Language - Quick Reference.

正規表現パターンが、返された値をチェックして入力文字列内で見つかったされているかどうかを判断するMatchオブジェクトのSuccessプロパティ。You can determine whether the regular expression pattern has been found in the input string by checking the value of the returned Match object's Success property. 一致が見つかった場合、返されたMatchオブジェクトのValueプロパティにはから部分文字列が含まれていますinput正規表現パターンに一致します。If a match is found, the returned Match object's Value property contains the substring from input that matches the regular expression pattern. 一致が検出されない場合、値はString.Emptyします。If no match is found, its value is String.Empty.

このメソッドの最初の部分文字列を返しますinput正規表現パターンに一致します。This method returns the first substring in input that matches the regular expression pattern. 後続の一致するを取得するには、返されたを繰り返し呼び出すMatchオブジェクトのMatch.NextMatchメソッド。You can retrieve subsequent matches by repeatedly calling the returned Match object's Match.NextMatch method. 呼び出すことによって、1 つのメソッドの呼び出しですべての一致項目を取得することも、Regex.Matches(String)メソッド。You can also retrieve all matches in a single method call by calling the Regex.Matches(String) method.

RegexMatchTimeoutException照合操作の実行時間が指定されたタイムアウト間隔を超えた場合に例外がスローされます、Regex.Regex(String, RegexOptions, TimeSpan)コンス トラクター。The RegexMatchTimeoutException exception is thrown if the execution time of the matching 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.

こちらもご覧ください

Match(String, String) Match(String, String) Match(String, String) Match(String, String)

指定した入力文字列内で、指定した正規表現に最初に一致する箇所を検索します。Searches the specified input string for the first occurrence of the specified regular expression.

public:
 static System::Text::RegularExpressions::Match ^ Match(System::String ^ input, System::String ^ pattern);
public static System.Text.RegularExpressions.Match Match (string input, string pattern);
static member Match : string * string -> System.Text.RegularExpressions.Match
Public Shared Function Match (input As String, pattern As String) As Match

パラメーター

input
String String String String

一致する対象を検索する文字列。The string to search for a match.

pattern
String String String String

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

戻り値

一致に関する情報を格納しているオブジェクト。An object that contains information about the match.

例外

正規表現の解析エラーが発生しました。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.

次の例では、Match(String, String)を少なくとも 1 つを含む最初の単語を検索するメソッドz文字とし、呼び出し、Match.NextMatchメソッドを追加するとします。The following example calls the Match(String, String) method to find the first word that contains at least one z character, and then calls the Match.NextMatch method to find any additional matches.

using System;
using System.Text.RegularExpressions;

public class Example
{
   public static void Main()
   {
      string input = "ablaze beagle choral dozen elementary fanatic " +
                     "glaze hunger inept jazz kitchen lemon minus " +
                     "night optical pizza quiz restoration stamina " +
                     "train unrest vertical whiz xray yellow zealous";
      string pattern = @"\b\w*z+\w*\b";
      Match m = Regex.Match(input, pattern);
      while (m.Success) {
         Console.WriteLine("'{0}' found at position {1}", m.Value, m.Index);
         m = m.NextMatch();
      }   
   }
}
// The example displays the following output:
//    'ablaze' found at position 0
//    'dozen' found at position 21
//    'glaze' found at position 46
//    'jazz' found at position 65
//    'pizza' found at position 104
//    'quiz' found at position 110
//    'whiz' found at position 157
//    'zealous' found at position 174
Imports System.Text.RegularExpressions

Module Example
   Public Sub Main()
      Dim input As String = "ablaze beagle choral dozen elementary fanatic " +
                            "glaze hunger inept jazz kitchen lemon minus " +
                            "night optical pizza quiz restoration stamina " +
                            "train unrest vertical whiz xray yellow zealous"
      Dim pattern As String = "\b\w*z+\w*\b"
      Dim m As Match = Regex.Match(input, pattern)
      Do While m.Success 
         Console.WriteLine("'{0}' found at position {1}", m.Value, m.Index)
         m = m.NextMatch()
      Loop                      
   End Sub
End Module
' The example displays the following output:
    'ablaze' found at position 0
    'dozen' found at position 21
    'glaze' found at position 46
    'jazz' found at position 65
    'pizza' found at position 104
    'quiz' found at position 110
    'whiz' found at position 157
    'zealous' found at position 174

この正規表現パターン \b\w*z+\w*\b の解釈を次の表に示します。The regular expression pattern \b\w*z+\w*\b is interpreted as shown in the following table.

パターンPattern 説明Description
\b ワード境界から照合を開始します。Begin the match at a word boundary.
\w* 0、1、または複数の単語文字と一致します。Match zero, one, or more word characters.
z+ 1 つ以上の出現と一致、z文字。Match one or more occurrences of the z character.
\w* 0、1、または複数の単語文字と一致します。Match zero, one, or more word characters.
\b ワード境界で照合を終了します。End the match at a word boundary.

注釈

Match(String, String)メソッドは、入力文字列内の正規表現パターンに一致する最初の部分文字列を返します。The Match(String, String) method returns the first substring that matches a regular expression pattern in an input string. 正規表現パターンを構築するために使用する言語要素については、次を参照してください。正規表現言語 - クイック リファレンスします。For information about the language elements used to build a regular expression pattern, see Regular Expression Language - Quick Reference.

静的なMatch(String, String)メソッドを作成するのには、Regexオブジェクトを指定した正規表現パターンと、インスタンスを呼び出すMatch(String)メソッド。The static Match(String, String) method is equivalent to constructing a Regex object with the specified regular expression pattern and calling the instance Match(String) method. この場合、正規表現エンジンは、正規表現パターンをキャッシュします。In this case, the regular expression engine caches the regular expression pattern.

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.

正規表現パターンが、返された値をチェックして入力文字列内で見つかったされているかどうかを判断するMatchオブジェクトのSuccessプロパティ。You can determine whether the regular expression pattern has been found in the input string by checking the value of the returned Match object's Success property. 一致が見つかった場合、返されたMatchオブジェクトのValueプロパティにはから部分文字列が含まれていますinput正規表現パターンに一致します。If a match is found, the returned Match object's Value property contains the substring from input that matches the regular expression pattern. 一致が検出されない場合、値はString.Emptyします。If no match is found, its value is String.Empty.

このメソッドの最初の部分文字列を返しますinput正規表現パターンに一致します。This method returns the first substring in input that matches the regular expression pattern. 後続の一致するを取得するには、返されたを繰り返し呼び出すMatchオブジェクトのMatch.NextMatchメソッド。You can retrieve subsequent matches by repeatedly calling the returned Match object's Match.NextMatch method. 呼び出すことによって、1 つのメソッドの呼び出しですべての一致項目を取得することも、Regex.Matches(String, String)メソッド。You can also retrieve all matches in a single method call by calling the Regex.Matches(String, String) method.

RegexMatchTimeoutException照合操作の実行時間が、メソッドが呼び出されて、アプリケーション ドメインの指定されたタイムアウト間隔を超えた場合に例外がスローされます。The RegexMatchTimeoutException exception is thrown if the execution time of the matching 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 it 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. パターン一致を取得するための推奨される静的メソッドはMatch(String, String)、タイムアウト間隔を設定することができます。The recommended static method for retrieving a pattern match is Match(String, String), which lets you set the time-out interval.

こちらもご覧ください

適用対象