Regex.Match メソッド

定義

正規表現パターンに一致する部分文字列を入力文字列で検索し、最初の出現箇所を 1 つの Match オブジェクトとして返します。

オーバーロード

名前 説明
Match(String)

指定した入力文字列を検索して、 Regex コンストラクターで指定された正規表現が最初に出現します。

Match(String, Int32)

文字列内の指定した開始位置から始まる正規表現の最初の出現箇所を入力文字列で検索します。

Match(String, String)

指定した正規表現の最初の出現箇所について、指定した入力文字列を検索します。

Match(String, Int32, Int32)

指定した開始位置から始まり、指定した文字数のみを検索して、正規表現の最初の出現箇所を入力文字列で検索します。

Match(String, String, RegexOptions)

指定した一致するオプションを使用して、指定した正規表現の最初の出現箇所を入力文字列で検索します。

Match(String, String, RegexOptions, TimeSpan)

指定した一致するオプションとタイムアウト間隔を使用して、指定した正規表現の最初の出現箇所を入力文字列で検索します。

Match(String)

ソース:
Regex.Match.cs
ソース:
Regex.Match.cs
ソース:
Regex.Match.cs
ソース:
Regex.Match.cs
ソース:
Regex.Match.cs

指定した入力文字列を検索して、 Regex コンストラクターで指定された正規表現が最初に出現します。

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

一致を検索する文字列。

返品

一致に関する情報を含むオブジェクト。

例外

inputnullです。

タイムアウトが発生しました。

注釈

Match(String) メソッドは、入力文字列の正規表現パターンに一致する最初の部分文字列を返します。

返された Match オブジェクトの Success プロパティを調べて、入力文字列に正規表現パターンが見つかったかどうかを確認できます。 一致が見つかった場合、返される Match オブジェクトの Value プロパティには、一致した部分文字列が含まれます。 一致するものが見つからない場合、その値は Empty

このメソッドは、最初の一致を返します。 返された Match オブジェクトの NextMatch() メソッドを繰り返し呼び出すことによって、後続の一致を取得できます。 Matches(String)を呼び出すことで、1 回のメソッド呼び出しですべての一致を取得することもできます。

一致する操作の実行時間が、RegexMatchTimeoutException コンストラクターで指定されたタイムアウト間隔を超えると、Regex(String, RegexOptions, TimeSpan)例外がスローされます。 コンストラクターを呼び出すときにタイムアウト間隔を設定しない場合、 Regex オブジェクトが作成されるアプリケーション ドメインに対して確立されたタイムアウト値を操作が超えると、例外がスローされます。 Regex コンストラクター呼び出しまたはアプリケーション ドメインのプロパティでタイムアウトが定義されていない場合、またはタイムアウト値がInfiniteMatchTimeout場合、例外はスローされません。

こちらもご覧ください

適用対象

Match(String, Int32)

ソース:
Regex.Match.cs
ソース:
Regex.Match.cs
ソース:
Regex.Match.cs
ソース:
Regex.Match.cs
ソース:
Regex.Match.cs

文字列内の指定した開始位置から始まる正規表現の最初の出現箇所を入力文字列で検索します。

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

一致を検索する文字列。

startat
Int32

検索を開始する位置を 0 から始める文字位置。

返品

一致に関する情報を含むオブジェクト。

例外

inputnullです。

startat が 0 より小さいか、 inputの長さより大きい値です。

タイムアウトが発生しました。

注釈

startatの詳細については、「Regex.Match の補足 API 解説」を参照してください。

こちらもご覧ください

適用対象

Match(String, String)

ソース:
Regex.Match.cs
ソース:
Regex.Match.cs
ソース:
Regex.Match.cs
ソース:
Regex.Match.cs
ソース:
Regex.Match.cs

指定した正規表現の最初の出現箇所について、指定した入力文字列を検索します。

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

一致を検索する文字列。

pattern
String

照合する正規表現パターン。

返品

一致に関する情報を含むオブジェクト。

例外

正規表現解析エラーが発生しました。

input または patternnull

タイムアウトが発生しました。

注釈

静的 Match(String, String) メソッドは、指定したパターンで Regex オブジェクトを構築し、インスタンス Match(String) メソッドを呼び出すことと同じです。 正規表現エンジンによってパターンがキャッシュされます。

返された Match オブジェクトの Success プロパティを調べて、入力文字列に正規表現パターンが見つかったかどうかを確認できます。 一致が見つかった場合、返される Match オブジェクトの Value プロパティには、一致した部分文字列が含まれます。 一致するものが見つからない場合、その値は Empty

返された Match オブジェクトの NextMatch() メソッドを繰り返し呼び出すことによって、後続の一致を取得できます。 Matches(String, String) メソッドを呼び出すことで、1 つのメソッド呼び出しですべての一致を取得することもできます。

注意 (呼び出し元)

このメソッドは、呼び出されるアプリケーション ドメインの既定のタイムアウト値と等しい間隔の後にタイムアウトします。 アプリケーション ドメインに対してタイムアウト値が定義されていない場合は、メソッドのタイムアウトを妨げる InfiniteMatchTimeout値が使用されます。 パターンマッチを取得するための推奨される静的メソッドは Match(String, String)であり、タイムアウト間隔を設定できます。

こちらもご覧ください

適用対象

Match(String, Int32, Int32)

ソース:
Regex.Match.cs
ソース:
Regex.Match.cs
ソース:
Regex.Match.cs
ソース:
Regex.Match.cs
ソース:
Regex.Match.cs

指定した開始位置から始まり、指定した文字数のみを検索して、正規表現の最初の出現箇所を入力文字列で検索します。

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

一致を検索する文字列。

beginning
Int32

検索する左端の位置を定義する入力文字列内の 0 から始まる文字位置。

length
Int32

検索に含める部分文字列の文字数。

返品

一致に関する情報を含むオブジェクト。

例外

inputnullです。

beginning が 0 より小さいか、 inputの長さより大きい値です。 または、 length が 0 未満か、 inputの長さを超えています。 または、 beginning + length - 1 は、 inputの範囲外の位置を識別します。

タイムアウトが発生しました。

注釈

Match(String, Int32, Int32)メソッドは、正規表現パターンのinputおよびbeginningパラメーターによって定義されたlengthの部分を検索します。 beginning 常に検索に含める左端の文字のインデックスを定義し、 length 検索する最大文字数を定義します。 一緒に、検索の範囲を定義します。 この動作は、入力が実質的に input.Substring(beginning, length)された場合とまったく同じですが、一致するインデックスが inputの開始を基準にカウントされる点が異なります。 つまり、パターンの先頭または末尾にあるアンカーまたはゼロ幅アサーションは、この範囲外の入力がないかのように動作します。

検索が左から右 (既定値) に進む場合、正規表現エンジンはインデックス beginning の文字からインデックス beginning + length - 1 の文字まで検索します。 RightToLeft オプションを使用して正規表現エンジンがインスタンス化された場合、エンジンはインデックス beginning + length - 1 の文字からインデックス beginningの文字までを検索します。

このメソッドは、この範囲内で見つかった最初の一致を返します。 返された Match オブジェクトの NextMatch() メソッドを繰り返し呼び出すことによって、後続の一致を取得できます。

こちらもご覧ください

適用対象

Match(String, String, RegexOptions)

ソース:
Regex.Match.cs
ソース:
Regex.Match.cs
ソース:
Regex.Match.cs
ソース:
Regex.Match.cs
ソース:
Regex.Match.cs

指定した一致するオプションを使用して、指定した正規表現の最初の出現箇所を入力文字列で検索します。

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

一致を検索する文字列。

pattern
String

照合する正規表現パターン。

options
RegexOptions

一致するオプションを提供する列挙値のビットごとの組み合わせ。

返品

一致に関する情報を含むオブジェクト。

例外

正規表現解析エラーが発生しました。

input または patternnull

options は、 RegexOptions 値の有効なビットごとの組み合わせではありません。

タイムアウトが発生しました。

注釈

静的Match(String, String, RegexOptions) メソッドは、Regex コンストラクターを使用してRegex(String, RegexOptions) オブジェクトを構築し、インスタンス Match(String) メソッドを呼び出すことと同じです。

返された Match オブジェクトの Success プロパティを調べて、入力文字列に正規表現パターンが見つかったかどうかを確認できます。 返された Match オブジェクトの NextMatch() メソッドを繰り返し呼び出すことによって、後続の一致を取得できます。 Matches(String, String, RegexOptions) メソッドを呼び出すことで、1 つのメソッド呼び出しですべての一致を取得することもできます。

注意 (呼び出し元)

このメソッドは、呼び出されるアプリケーション ドメインの既定のタイムアウト値と等しい間隔の後にタイムアウトします。 アプリケーション ドメインに対してタイムアウト値が定義されていない場合は、メソッドのタイムアウトを妨げる InfiniteMatchTimeout値が使用されます。 パターンマッチを取得するための推奨される静的メソッドは Match(String, String)であり、タイムアウト間隔を設定できます。

こちらもご覧ください

適用対象

Match(String, String, RegexOptions, TimeSpan)

ソース:
Regex.Match.cs
ソース:
Regex.Match.cs
ソース:
Regex.Match.cs
ソース:
Regex.Match.cs
ソース:
Regex.Match.cs

指定した一致するオプションとタイムアウト間隔を使用して、指定した正規表現の最初の出現箇所を入力文字列で検索します。

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

一致を検索する文字列。

pattern
String

照合する正規表現パターン。

options
RegexOptions

一致するオプションを提供する列挙値のビットごとの組み合わせ。

matchTimeout
TimeSpan

タイムアウト間隔、またはメソッドがタイムアウトしないことを示す InfiniteMatchTimeout

返品

一致に関する情報を含むオブジェクト。

例外

正規表現解析エラーが発生しました。

input または patternnull

options は、 RegexOptions 値の有効なビットごとの組み合わせではありません。 または、 matchTimeout が負、ゼロ、または約 24 日を超えています。

タイムアウトが発生しました。

注釈

静的Match(String, String, RegexOptions, TimeSpan) メソッドは、Regex コンストラクターを使用してRegex(String, RegexOptions, TimeSpan) オブジェクトを構築し、インスタンス Match(String) メソッドを呼び出すことと同じです。

返された Match オブジェクトの Success プロパティを調べて、入力文字列に正規表現パターンが見つかったかどうかを確認できます。 返された Match オブジェクトの NextMatch() メソッドを繰り返し呼び出すことによって、後続の一致を取得できます。

matchTimeout パラメーターは、パターン マッチング メソッドがタイムアウトするまでの一致の検索を試行する期間を指定します。タイムアウト間隔を設定すると、過剰なバックトラッキングに依存する正規表現が、近い一致を含む入力を処理するときに応答を停止するように見えるのを防ぐことができます。 その時間間隔で一致するものが見つからない場合、メソッドは RegexMatchTimeoutException 例外をスローします。 matchTimeout は、メソッドが実行されるアプリケーション ドメインに対して定義されている既定のタイムアウト値をオーバーライドします。

注意 (呼び出し元)

matchTimeout パラメーターを適切な値 (2 秒など) に設定することをお勧めします。 InfiniteMatchTimeoutを指定してタイムアウトを無効にすると、正規表現エンジンのパフォーマンスが若干向上します。 ただし、タイムアウトは次の条件でのみ無効にする必要があります。

  • 正規表現によって処理される入力が既知の信頼できるソースから派生した場合、または静的テキストで構成されている場合。 これにより、ユーザーによって動的に入力されたテキストが除外されます。

  • 正規表現パターンが十分にテストされ、一致、一致しない、および近い一致が効率的に処理されるようにする場合。

  • 正規表現パターンに、近い一致を処理するときに過剰なバックトラッキングを引き起こすことがわかっている言語要素が含まれている場合。

こちらもご覧ください

適用対象