Regex.IsMatch Regex.IsMatch Regex.IsMatch Regex.IsMatch Method

定義

正規表現と一致する対象が入力文字列内で見つかったかどうかを示します。Indicates whether the regular expression finds a match in the input string.

オーバーロード

IsMatch(String) IsMatch(String) IsMatch(String) IsMatch(String)

Regex コンストラクターで指定された正規表現に一致する箇所が、指定した入力文字列内に見つかるかどうかを示します。Indicates whether the regular expression specified in the Regex constructor finds a match in a specified input string.

IsMatch(String, Int32) IsMatch(String, Int32) IsMatch(String, Int32) IsMatch(String, Int32)

入力文字列内の指定した位置から検索を開始して、Regex コンストラクターで指定された正規表現に一致する箇所が、指定した入力文字列内に見つかるかどうかを示します。Indicates whether the regular expression specified in the Regex constructor finds a match in the specified input string, beginning at the specified starting position in the string.

IsMatch(String, String) IsMatch(String, String) IsMatch(String, String) IsMatch(String, String)

指定した正規表現に一致する箇所が、指定した入力文字列内に見つかるかどうかを示します。Indicates whether the specified regular expression finds a match in the specified input string.

IsMatch(String, String, RegexOptions) IsMatch(String, String, RegexOptions) IsMatch(String, String, RegexOptions) IsMatch(String, String, RegexOptions)

指定した一致オプションを使用して、指定した正規表現に一致する箇所が、指定した入力文字列内に見つかるかどうかを示します。Indicates whether the specified regular expression finds a match in the specified input string, using the specified matching options.

IsMatch(String, String, RegexOptions, TimeSpan) IsMatch(String, String, RegexOptions, TimeSpan) IsMatch(String, String, RegexOptions, TimeSpan) IsMatch(String, String, RegexOptions, TimeSpan)

指定した一致オプションとタイムアウト間隔を使用して、指定した正規表現に一致する箇所が、指定した入力文字列内に見つかるかどうかを示します。Indicates whether the specified regular expression finds a match in the specified input string, using the specified matching options and time-out interval.

IsMatch(String) IsMatch(String) IsMatch(String) IsMatch(String)

Regex コンストラクターで指定された正規表現に一致する箇所が、指定した入力文字列内に見つかるかどうかを示します。Indicates whether the regular expression specified in the Regex constructor finds a match in a specified input string.

public:
 bool IsMatch(System::String ^ input);
public bool IsMatch (string input);
member this.IsMatch : string -> bool
Public Function IsMatch (input As String) As Boolean

パラメーター

input
String String String String

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

戻り値

true 正規表現と一致する箇所が見つかった場合は 。それ以外の場合は falseif the regular expression finds a match; otherwise, false.

例外

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

次の例では、使用、IsMatch(String)文字列が有効な部品番号であるかどうかを確認します。The following example illustrates the use of the IsMatch(String) method to determine whether a string is a valid part number. 正規表現では、部品番号の 3 つのハイフンで区切られた文字のセットで構成される特定の形式であると仮定します。The regular expression assumes that the part number has a specific format that consists of three sets of characters separated by hyphens. 最初のセットは、次の 4 つの文字が含まれている必要があります、英数字文字の後に英数字の文字が続く 2 つの数字で構成されます。The first set, which contains four characters, must consist of an alphanumeric character followed by two numeric characters followed by an alphanumeric character. 次の 3 つの文字で構成され、2 番目のセットは、数値である必要があります。The second set, which consists of three characters, must be numeric. 4 つの文字で構成され、3 番目のセットには、次の 3 つの数値文字が英数字の文字が続く必要があります。The third set, which consists of four characters, must have three numeric characters followed by an alphanumeric character.

using System;
using System.Text.RegularExpressions;

public class Example
{
   public static void Main()
   {
      string[] partNumbers= { "1298-673-4192", "A08Z-931-468A", 
                              "_A90-123-129X", "12345-KKA-1230", 
                              "0919-2893-1256" };
      Regex rgx = new Regex(@"^[a-zA-Z0-9]\d{2}[a-zA-Z0-9](-\d{3}){2}[A-Za-z0-9]$");
      foreach (string partNumber in partNumbers)
         Console.WriteLine("{0} {1} a valid part number.", 
                           partNumber, 
                           rgx.IsMatch(partNumber) ? "is" : "is not");
   }
}
// The example displays the following output:
//       1298-673-4192 is a valid part number.
//       A08Z-931-468A is a valid part number.
//       _A90-123-129X is not a valid part number.
//       12345-KKA-1230 is not a valid part number.
//       0919-2893-1256 is not a valid part number.
Imports System.Text.RegularExpressions

Module Example
   Public Sub Main()
      Dim partNumbers() As String = { "1298-673-4192", "A08Z-931-468A", _
                                      "_A90-123-129X", "12345-KKA-1230", _
                                      "0919-2893-1256" }
      Dim rgx As New Regex("^[a-zA-Z0-9]\d{2}[a-zA-Z0-9](-\d{3}){2}[A-Za-z0-9]$")
      For Each partNumber As String In partNumbers
         Console.WriteLine("{0} {1} a valid part number.", _
                           partNumber, _
                           IIF(rgx.IsMatch(partNumber), "is", "is not"))
      Next
   End Sub
End Module
' The example displays the following output:
'       1298-673-4192 is a valid part number.
'       A08Z-931-468A is a valid part number.
'       _A90-123-129X is not a valid part number.
'       12345-KKA-1230 is not a valid part number.
'       0919-2893-1256 is not a valid part number.

正規表現パターンは次のとおりです。The regular expression pattern is:

^[a-zA-Z0-9]\d{2}[a-zA-Z0-9](-\d{3}){2}[A-Za-z0-9]$  

次の表に、正規表現パターンがどのように解釈されるかを示します。The following table shows how the regular expression pattern is interpreted.

パターンPattern 説明Description
^ 行の先頭から照合を開始します。Begin the match at the beginning of the line.
[a-zA-Z0-9] 1 文字に一致 (aを通じてzまたはAを通じてZ) または文字の数値。Match a single alphabetic character (a through z or A through Z) or numeric character.
\d{2} 2 つの数値文字と一致します。Match two numeric characters.
[a-zA-Z0-9] 1 文字に一致 (aを通じてzまたはAを通じてZ) または文字の数値。Match a single alphabetic character (a through z or A through Z) or numeric character.
- ハイフンと一致します。Match a hyphen.
\d{3} 3 つの数値文字と一致します。Match exactly three numeric characters.
(-\d{3}){2} ハイフンの後ろに次の 3 つの数値文字を検索し、このパターンの 2 つの出現と一致します。Find a hyphen followed by three numeric characters, and match two occurrences of this pattern.
[a-zA-Z0-9] 1 文字に一致 (aを通じてzまたはAを通じてZ) または文字の数値。Match a single alphabetic character (a through z or A through Z) or numeric character.
$ 行の末尾で照合を終了します。End the match at the end of the line.

注釈

IsMatchまたは後続の操作のためには、その文字列を取得せず、その文字列が特定のパターンに準拠していることを確認する文字列を検証するメソッドが通常使用します。The IsMatch method is typically used to validate a string or to ensure that a string conforms to a particular pattern without retrieving that string for subsequent manipulation. 1 つまたは複数の文字列が正規表現パターンに一致し、して後続の操作の呼び出しを取得するかどうかを決定する場合、MatchまたはMatchesメソッド。If you want to determine whether one or more strings match a regular expression pattern and then retrieve them for subsequent manipulation, call the Match or Matches 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.

こちらもご覧ください

IsMatch(String, Int32) IsMatch(String, Int32) IsMatch(String, Int32) IsMatch(String, Int32)

入力文字列内の指定した位置から検索を開始して、Regex コンストラクターで指定された正規表現に一致する箇所が、指定した入力文字列内に見つかるかどうかを示します。Indicates whether the regular expression specified in the Regex constructor finds a match in the specified input string, beginning at the specified starting position in the string.

public:
 bool IsMatch(System::String ^ input, int startat);
public bool IsMatch (string input, int startat);
member this.IsMatch : string * int -> bool
Public Function IsMatch (input As String, startat As Integer) As Boolean

パラメーター

input
String String String String

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

startat
Int32 Int32 Int32 Int32

検索を開始する文字の位置。The character position at which to start the search.

戻り値

true 正規表現と一致する箇所が見つかった場合は 。それ以外の場合は falseif the regular expression finds a match; otherwise, false.

例外

startat が 0 未満か、input の長さを超えています。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.

次の例では、使用、IsMatch(String, Int32)文字列が有効な部品番号であるかどうかを確認します。The following example illustrates the use of the IsMatch(String, Int32) method to determine whether a string is a valid part number. 文字列にコロン (:) 文字に続く部品番号を検索します。It searches for a part number that follows a colon (:) character in a string. IndexOf(Char)メソッドを使用するには、コロンの位置を決定、IsMatch(String, Int32)メソッド。The IndexOf(Char) method is used to determine the position of the colon character, which is then passed to the IsMatch(String, Int32) method. 正規表現では、部品番号の 3 つのハイフンで区切られた文字のセットで構成される特定の形式であると仮定します。The regular expression assumes that the part number has a specific format that consists of three sets of characters separated by hyphens. 最初のセットは、次の 4 つの文字が含まれている必要があります、英数字文字の後に英数字の文字が続く 2 つの数字で構成されます。The first set, which contains four characters, must consist of an alphanumeric character followed by two numeric characters followed by an alphanumeric character. 次の 3 つの文字で構成され、2 番目のセットは、数値である必要があります。The second set, which consists of three characters, must be numeric. 4 つの文字で構成され、3 番目のセットには、次の 3 つの数値文字が英数字の文字が続く必要があります。The third set, which consists of four characters, must have three numeric characters followed by an alphanumeric character.

using System;
using System.Text.RegularExpressions;

public class Example
{
   public static void Main()
   {
      string[] partNumbers= { "Part Number: 1298-673-4192", "Part No: A08Z-931-468A", 
                              "_A90-123-129X", "123K-000-1230", 
                              "SKU: 0919-2893-1256" };
      Regex rgx = new Regex(@"[a-zA-Z0-9]\d{2}[a-zA-Z0-9](-\d{3}){2}[A-Za-z0-9]$");
      foreach (string partNumber in partNumbers)
      {
         int start = partNumber.IndexOf(':');
         if (start >= 0)
         {
            Console.WriteLine("{0} {1} a valid part number.", 
                              partNumber, 
                              rgx.IsMatch(partNumber, start) ? "is" : "is not");
         }
         else
         {
            Console.WriteLine("Cannot find starting position in {0}.", partNumber);
         }
      }
   }
}
// The example displays the following output:
//       Part Number: 1298-673-4192 is a valid part number.
//       Part No: A08Z-931-468A is a valid part number.
//       Cannot find starting position in _A90-123-129X.
//       Cannot find starting position in 123K-000-1230.
//       SKU: 0919-2893-1256 is not a valid part number.
Imports System.Text.RegularExpressions

Module Example
   Public Sub Main()
      Dim partNumbers() As String = { "Part Number: 1298-673-4192", "Part No: A08Z-931-468A", _
                                      "_A90-123-129X", "123K-000-1230", _
                                      "SKU: 0919-2893-1256" }
      Dim rgx As New Regex("[a-zA-Z0-9]\d{2}[a-zA-Z0-9](-\d{3}){2}[A-Za-z0-9]$")
      For Each partNumber As String In partNumbers
         Dim start As Integer = partNumber.IndexOf(":"c)
         If start >= 0 Then 
            Console.WriteLine("{0} {1} a valid part number.", _
                              partNumber, _
                              IIF(rgx.IsMatch(partNumber, start), "is", "is not"))
         Else
            Console.WriteLine("Cannot find starting position in {0}.", partNumber)
         End If                              
      Next
   End Sub
End Module
' The example displays the following output:
'       Part Number: 1298-673-4192 is a valid part number.
'       Part No: A08Z-931-468A is a valid part number.
'       Cannot find starting position in _A90-123-129X.
'       Cannot find starting position in 123K-000-1230.
'       SKU: 0919-2893-1256 is not a valid part number.

正規表現パターンは次のとおりです。The regular expression pattern is:

[a-zA-Z0-9]\d{2}[a-zA-Z0-9](-\d{3}){2}[A-Za-z0-9]$  

次の表に、正規表現パターンがどのように解釈されるかを示します。The following table shows how the regular expression pattern is interpreted.

パターンPattern 説明Description
[a-zA-Z0-9] 1 文字に一致 (aを通じてzまたはAを通じてZ) または文字の数値。Match a single alphabetic character (a through z or A through Z) or numeric character.
\d{2} 2 つの数値文字と一致します。Match two numeric characters.
[a-zA-Z0-9] 1 文字に一致 (aを通じてzまたはAを通じてZ) または文字の数値。Match a single alphabetic character (a through z or A through Z) or numeric character.
- ハイフンと一致します。Match a hyphen.
\d{3} 3 つの数値文字と一致します。Match exactly three numeric characters.
(-\d{3}){2} ハイフンの後ろに次の 3 つの数値文字を検索し、このパターンの 2 つの出現と一致します。Find a hyphen followed by three numeric characters, and match two occurrences of this pattern.
[a-zA-Z0-9] 1 文字に一致 (aを通じてzまたはAを通じてZ) または文字の数値。Match a single alphabetic character (a through z or A through Z) or numeric character.
$ 行の末尾で照合を終了します。End the match at the end of the line.

注釈

IsMatchまたは後続の操作のためには、その文字列を取得せず、その文字列が特定のパターンに準拠していることを確認する文字列を検証するメソッドが通常使用します。The IsMatch method is typically used to validate a string or to ensure that a string conforms to a particular pattern without retrieving that string for subsequent manipulation. 1 つまたは複数の文字列が正規表現パターンに一致し、して後続の操作の呼び出しを取得するかどうかを決定する場合、MatchまたはMatchesメソッド。If you want to determine whether one or more strings match a regular expression pattern and then retrieve them for subsequent manipulation, call the Match or Matches 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.

こちらもご覧ください

IsMatch(String, String) IsMatch(String, String) IsMatch(String, String) IsMatch(String, String)

指定した正規表現に一致する箇所が、指定した入力文字列内に見つかるかどうかを示します。Indicates whether the specified regular expression finds a match in the specified input string.

public:
 static bool IsMatch(System::String ^ input, System::String ^ pattern);
public static bool IsMatch (string input, string pattern);
static member IsMatch : string * string -> bool
Public Shared Function IsMatch (input As String, pattern As String) As Boolean

パラメーター

input
String String String String

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

pattern
String String String String

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

戻り値

true 正規表現と一致する箇所が見つかった場合は 。それ以外の場合は falseif the regular expression finds a match; otherwise, false.

例外

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

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

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

次の例では、使用、IsMatch(String, String)文字列が有効な部品番号であるかどうかを確認します。The following example illustrates the use of the IsMatch(String, String) method to determine whether a string is a valid part number. 正規表現では、部品番号の 3 つのハイフンで区切られた文字のセットで構成される特定の形式であると仮定します。The regular expression assumes that the part number has a specific format that consists of three sets of characters separated by hyphens. 最初のセットは、次の 4 つの文字が含まれている必要があります、英数字文字の後に英数字の文字が続く 2 つの数字で構成されます。The first set, which contains four characters, must consist of an alphanumeric character followed by two numeric characters followed by an alphanumeric character. 次の 3 つの文字で構成され、2 番目のセットは、数値である必要があります。The second set, which consists of three characters, must be numeric. 4 つの文字で構成され、3 番目のセットには、次の 3 つの数値文字が英数字の文字が続く必要があります。The third set, which consists of four characters, must have three numeric characters followed by an alphanumeric character.

using System;
using System.Text.RegularExpressions;

public class Example
{
   public static void Main()
   {
      string[] partNumbers= { "1298-673-4192", "A08Z-931-468A", 
                              "_A90-123-129X", "12345-KKA-1230", 
                              "0919-2893-1256" };
      string pattern = @"^[a-zA-Z0-9]\d{2}[a-zA-Z0-9](-\d{3}){2}[A-Za-z0-9]$";
      foreach (string partNumber in partNumbers)
         Console.WriteLine("{0} {1} a valid part number.", 
                           partNumber, 
                           Regex.IsMatch(partNumber, pattern) ? "is" : "is not");
   }
}
// The example displays the following output:
//       1298-673-4192 is a valid part number.
//       A08Z-931-468A is a valid part number.
//       _A90-123-129X is not a valid part number.
//       12345-KKA-1230 is not a valid part number.
//       0919-2893-1256 is not a valid part number.
Imports System.Text.RegularExpressions

Module Example
   Public Sub Main()
      Dim partNumbers() As String = { "1298-673-4192", "A08Z-931-468A", _
                                      "_A90-123-129X", "12345-KKA-1230", _
                                      "0919-2893-1256" }
      Dim pattern As String = "^[a-zA-Z0-9]\d{2}[a-zA-Z0-9](-\d{3}){2}[A-Za-z0-9]$"
      For Each partNumber As String In partNumbers
         Console.WriteLine("{0} {1} a valid part number.", _
                           partNumber, _
                           IIF(Regex.IsMatch(partNumber, pattern), "is", "is not"))
      Next
   End Sub
End Module
' The example displays the following output:
'       1298-673-4192 is a valid part number.
'       A08Z-931-468A is a valid part number.
'       _A90-123-129X is not a valid part number.
'       12345-KKA-1230 is not a valid part number.
'       0919-2893-1256 is not a valid part number.

正規表現パターンは次のとおりです。The regular expression pattern is:

^[a-zA-Z0-9]\d{2}[a-zA-Z0-9](-\d{3}){2}[A-Za-z0-9]$  

次の表に、正規表現パターンがどのように解釈されるかを示します。The following table shows how the regular expression pattern is interpreted.

パターンPattern 説明Description
^ 行の先頭から照合を開始します。Begin the match at the beginning of the line.
[a-zA-Z0-9] 1 文字に一致 (aを通じてzまたはAを通じてZ) または文字の数値。Match a single alphabetic character (a through z or A through Z) or numeric character.
\d{2} 2 つの数値文字と一致します。Match two numeric characters.
[a-zA-Z0-9] 1 文字に一致 (aを通じてzまたはAを通じてZ) または文字の数値。Match a single alphabetic character (a through z or A through Z) or numeric character.
- ハイフンと一致します。Match a hyphen.
\d{3} 3 つの数値文字と一致します。Match exactly three numeric characters.
(-\d{3}){2} ハイフンの後ろに次の 3 つの数値文字を検索し、このパターンの 2 つの出現と一致します。Find a hyphen followed by three numeric characters, and match two occurrences of this pattern.
[a-zA-Z0-9] 1 文字に一致 (aを通じてzまたはAを通じてZ) または文字の数値。Match a single alphabetic character (a through z or A through Z) or numeric character.
$ 行の末尾で照合を終了します。End the match at the end of the line.

注釈

IsMatchまたは後続の操作のためには、その文字列を取得せず、その文字列が特定のパターンに準拠していることを確認する文字列を検証するメソッドが通常使用します。The IsMatch method is typically used to validate a string or to ensure that a string conforms to a particular pattern without retrieving that string for subsequent manipulation. 1 つまたは複数の文字列が正規表現パターンに一致し、して後続の操作の呼び出しを取得するかどうかを決定する場合、MatchまたはMatchesメソッド。If you want to determine whether one or more strings match a regular expression pattern and then retrieve them for subsequent manipulation, call the Match or Matches method.

静的なIsMatch(String, String)メソッドを作成するのには、Regexオブジェクトで指定された正規表現パターンでpatternを呼び出すと、IsMatch(String)インスタンス メソッド。The static IsMatch(String, String) method is equivalent to constructing a Regex object with the regular expression pattern specified by pattern and calling the IsMatch(String) instance method. この正規表現パターンは、迅速な検索の正規表現エンジンによってキャッシュされます。This regular expression pattern is cached for rapid retrieval by the regular expression engine.

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.

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 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. パターン一致を確認するための推奨される静的メソッドはIsMatch(String, String, RegexOptions, TimeSpan)、タイムアウト間隔を設定することができます。The recommended static method for verifying a pattern match is IsMatch(String, String, RegexOptions, TimeSpan), which lets you set the time-out interval.

こちらもご覧ください

IsMatch(String, String, RegexOptions) IsMatch(String, String, RegexOptions) IsMatch(String, String, RegexOptions) IsMatch(String, String, RegexOptions)

指定した一致オプションを使用して、指定した正規表現に一致する箇所が、指定した入力文字列内に見つかるかどうかを示します。Indicates whether the specified regular expression finds a match in the specified input string, using the specified matching options.

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

パラメーター

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.

戻り値

true 正規表現と一致する箇所が見つかった場合は 。それ以外の場合は falseif the regular expression finds a match; otherwise, false.

例外

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

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

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

次の例では、使用、IsMatch(String, String)文字列が有効な部品番号であるかどうかを確認します。The following example illustrates the use of the IsMatch(String, String) method to determine whether a string is a valid part number. 正規表現では、部品番号の 3 つのハイフンで区切られた文字のセットで構成される特定の形式であると仮定します。The regular expression assumes that the part number has a specific format that consists of three sets of characters separated by hyphens. 最初のセットは、次の 4 つの文字が含まれている必要があります、英数字文字の後に英数字の文字が続く 2 つの数字で構成されます。The first set, which contains four characters, must consist of an alphanumeric character followed by two numeric characters followed by an alphanumeric character. 次の 3 つの文字で構成され、2 番目のセットは、数値である必要があります。The second set, which consists of three characters, must be numeric. 4 つの文字で構成され、3 番目のセットには、次の 3 つの数値文字が英数字の文字が続く必要があります。The third set, which consists of four characters, must have three numeric characters followed by an alphanumeric character.

using System;
using System.Text.RegularExpressions;

public class Example
{
   public static void Main()
   {
      string[] partNumbers= { "1298-673-4192", "A08Z-931-468a", 
                              "_A90-123-129X", "12345-KKA-1230", 
                              "0919-2893-1256" };
      string pattern = @"^[A-Z0-9]\d{2}[A-Z0-9](-\d{3}){2}[A-Z0-9]$";
      foreach (string partNumber in partNumbers)
         Console.WriteLine("{0} {1} a valid part number.", 
                           partNumber, 
                           Regex.IsMatch(partNumber, pattern, RegexOptions.IgnoreCase) 
                                         ? "is" : "is not");
   }
}
// The example displays the following output:
//       1298-673-4192 is a valid part number.
//       A08Z-931-468a is a valid part number.
//       _A90-123-129X is not a valid part number.
//       12345-KKA-1230 is not a valid part number.
//       0919-2893-1256 is not a valid part number.
Imports System.Text.RegularExpressions

Module Example
   Public Sub Main()
      Dim partNumbers() As String = { "1298-673-4192", "A08Z-931-468a", _
                                      "_A90-123-129X", "12345-KKA-1230", _
                                      "0919-2893-1256" }
      Dim pattern As String = "^[A-Z0-9]\d{2}[A-Z0-9](-\d{3}){2}[A-Z0-9]$"
      For Each partNumber As String In partNumbers
         Console.WriteLine("{0} {1} a valid part number.", _
                           partNumber, _
                           IIF(Regex.IsMatch(partNumber, pattern, RegexOptions.IgnoreCase), _
                               "is", "is not"))
      Next
   End Sub
End Module
' The example displays the following output:
'       1298-673-4192 is a valid part number.
'       A08Z-931-468a is a valid part number.
'       _A90-123-129X is not a valid part number.
'       12345-KKA-1230 is not a valid part number.
'       0919-2893-1256 is not a valid part number.

正規表現パターンは次のとおりです。The regular expression pattern is:

^[A-Z0-9]\d{2}[A-Z0-9](-\d{3}){2}[A-Z0-9]$  

次の表に、正規表現パターンがどのように解釈されるかを示します。The following table shows how the regular expression pattern is interpreted.

パターンPattern 説明Description
^ 文字列の先頭から照合を開始します。Begin the match at the beginning of the string.
[A-Z0-9] 単一のアルファベット文字からAを通じてZ、または任意の数字。Match any single alphabetic character from A through Z, or any numeric character.
\d{2} 2 つの数値文字と一致します。Match two numeric characters.
[A-Z0-9] 単一のアルファベット文字からAを通じてZ、または任意の数字。Match any single alphabetic character from A through Z, or any numeric character.
- ハイフンと一致します。Match a hyphen.
\d{3} 3 つの数値文字と一致します。Match exactly three numeric characters.
(-\d{3}){2} ハイフンの後ろに次の 3 つの数値文字を検索して、このパターンの 2 つの出現と一致.Find a hyphen followed by three numeric characters, and match two occurrences of this pattern..
[A-Z0-9] 単一のアルファベット文字からAを通じてZ、または任意の数字。Match any single alphabetic character from A through Z, or any numeric character.
$ 入力文字列の末尾で照合を終了します。End the match at the end of the string.

呼び出す、IsMatch(String, String, RegexOptions)メソッドをoptionsパラメーターに設定RegexOptions.IgnoreCaseは次の正規表現を定義するのと同じです。Calling the IsMatch(String, String, RegexOptions) method with the options parameter set to RegexOptions.IgnoreCase is equivalent to defining the following regular expression:

[a-zA-Z0-9]\d{2}[a-zA-Z0-9](-\d{3}){2}[A-Za-z0-9]  

比較のための例を参照してください、IsMatch(String, String)メソッド。For comparison, see the example for the IsMatch(String, String) method.

注釈

IsMatchまたは後続の操作のためには、その文字列を取得せず、その文字列が特定のパターンに準拠していることを確認する文字列を検証するメソッドが通常使用します。The IsMatch method is typically used to validate a string or to ensure that a string conforms to a particular pattern without retrieving that string for subsequent manipulation. 1 つまたは複数の文字列が正規表現パターンに一致し、して後続の操作の呼び出しを取得するかどうかを決定する場合、MatchまたはMatchesメソッド。If you want to determine whether one or more strings match a regular expression pattern and then retrieve them for subsequent manipulation, call the Match or Matches method.

静的なIsMatch(String, String, RegexOptions)メソッドを作成するのには、Regexオブジェクトで指定された正規表現パターンでpatternと正規表現オプションを指定してoptionsを呼び出すと、IsMatch(String)インスタンスメソッド。The static IsMatch(String, String, RegexOptions) method is equivalent to constructing a Regex object with the regular expression pattern specified by pattern and the regular expression options specified by options and calling the IsMatch(String) instance method. この正規表現パターンは、迅速な検索の正規表現エンジンによってキャッシュされます。This regular expression pattern is cached for rapid retrieval by the regular expression engine.

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.

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. パターン一致を確認するための推奨される静的メソッドはIsMatch(String, String, RegexOptions, TimeSpan)、タイムアウト間隔を設定することができます。The recommended static method for verifying a pattern match is IsMatch(String, String, RegexOptions, TimeSpan), which lets you set the time-out interval.

こちらもご覧ください

IsMatch(String, String, RegexOptions, TimeSpan) IsMatch(String, String, RegexOptions, TimeSpan) IsMatch(String, String, RegexOptions, TimeSpan) IsMatch(String, String, RegexOptions, TimeSpan)

指定した一致オプションとタイムアウト間隔を使用して、指定した正規表現に一致する箇所が、指定した入力文字列内に見つかるかどうかを示します。Indicates whether the specified regular expression finds a match in the specified input string, using the specified matching options and time-out interval.

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

パラメーター

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.

戻り値

true 正規表現と一致する箇所が見つかった場合は 。それ以外の場合は falseif the regular expression finds a match; otherwise, false.

例外

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

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

options が有効な RegexOptions 値ではありません。is not a valid RegexOptions value.

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

次の例では、使用、IsMatch(String, String, RegexOptions, TimeSpan)文字列が有効な部品番号であるかどうかを確認します。The following example illustrates the use of the IsMatch(String, String, RegexOptions, TimeSpan) method to determine whether a string is a valid part number. 正規表現では、部品番号の 3 つのハイフンで区切られた文字のセットで構成される特定の形式であると仮定します。The regular expression assumes that the part number has a specific format that consists of three sets of characters separated by hyphens. 最初のセットは、次の 4 つの文字が含まれている必要があります、英数字文字の後に英数字の文字が続く 2 つの数字で構成されます。The first set, which contains four characters, must consist of an alphanumeric character followed by two numeric characters followed by an alphanumeric character. 次の 3 つの文字で構成され、2 番目のセットは、数値である必要があります。The second set, which consists of three characters, must be numeric. 4 つの文字で構成され、3 番目のセットには、次の 3 つの数値文字が英数字の文字が続く必要があります。The third set, which consists of four characters, must have three numeric characters followed by an alphanumeric character. 正規表現パターンに一致するメソッドは、500 ミリ秒のタイムアウト間隔を設定するための入力の文字列を最小限に抑える検索に関連する必要があります。Matching the regular expression pattern should involve minimal searching through the input string, so the method sets a time-out interval of 500 milliseconds.

using System;
using System.Text.RegularExpressions;

public class Example
{
   public static void Main()
   {
      string[] partNumbers= { "1298-673-4192", "A08Z-931-468a", 
                              "_A90-123-129X", "12345-KKA-1230", 
                              "0919-2893-1256" };
      string pattern = @"^[A-Z0-9]\d{2}[A-Z0-9](-\d{3}){2}[A-Z0-9]$";
      foreach (string partNumber in partNumbers)
         try {
            Console.WriteLine("{0} {1} a valid part number.", 
                              partNumber, 
                              Regex.IsMatch(partNumber, pattern, RegexOptions.IgnoreCase) 
                                            ? "is" : "is not", TimeSpan.FromMilliseconds(500));
         }
         catch (RegexMatchTimeoutException e) {
            Console.WriteLine("Timeout after {0} seconds matching {1}.",
                              e.MatchTimeout, e.Input);
         }
   }
}
// The example displays the following output:
//       1298-673-4192 is a valid part number.
//       A08Z-931-468a is a valid part number.
//       _A90-123-129X is not a valid part number.
//       12345-KKA-1230 is not a valid part number.
//       0919-2893-1256 is not a valid part number.
Imports System.Text.RegularExpressions

Module Example
   Public Sub Main()
      Dim partNumbers() As String = { "1298-673-4192", "A08Z-931-468a", 
                                      "_A90-123-129X", "12345-KKA-1230", 
                                      "0919-2893-1256" }
      Dim pattern As String = "^[A-Z0-9]\d{2}[A-Z0-9](-\d{3}){2}[A-Z0-9]$"
      For Each partNumber As String In partNumbers
         Try
            Console.WriteLine("{0} {1} a valid part number.", 
                              partNumber, _
                              IIF(Regex.IsMatch(partNumber, pattern, RegexOptions.IgnoreCase), _
                                  "is", "is not"),
                              TimeSpan.FromMilliseconds(500))
         Catch e As RegexMatchTimeoutException
            Console.WriteLine("Timeout after {0} seconds matching {1}.",
                              e.MatchTimeout, e.Input)
         End Try
      Next
   End Sub
End Module
' The example displays the following output:
'       1298-673-4192 is a valid part number.
'       A08Z-931-468a is a valid part number.
'       _A90-123-129X is not a valid part number.
'       12345-KKA-1230 is not a valid part number.
'       0919-2893-1256 is not a valid part number.

正規表現パターンは次のとおりです。The regular expression pattern is:

^[A-Z0-9]\d{2}[A-Z0-9](-\d{3}){2}[A-Z0-9]$  

次の表に、正規表現パターンがどのように解釈されるかを示します。The following table shows how the regular expression pattern is interpreted.

パターンPattern 説明Description
^ 文字列の先頭から照合を開始します。Begin the match at the beginning of the string.
[A-Z0-9] 単一のアルファベット文字からAを通じてZ、または任意の数字。Match any single alphabetic character from A through Z, or any numeric character.
\d{2} 2 つの数値文字と一致します。Match two numeric characters.
[A-Z0-9] 単一のアルファベット文字からAを通じてZ、または任意の数字。Match any single alphabetic character from A through Z, or any numeric character.
- ハイフンと一致します。Match a hyphen.
\d{3} 3 つの数値文字と一致します。Match exactly three numeric characters.
(-\d{3}){2} ハイフンの後ろに次の 3 つの数値文字を検索し、このパターンの 2 つの出現と一致します。Find a hyphen followed by three numeric characters, and match two occurrences of this pattern.
[A-Z0-9] 単一のアルファベット文字からAを通じてZ、または任意の数字。Match any single alphabetic character from A through Z, or any numeric character.
$ 入力文字列の末尾で照合を終了します。End the match at the end of the string.

呼び出す、IsMatch(String, String, RegexOptions, TimeSpan)メソッドをoptionsパラメーターに設定RegexOptions.IgnoreCaseは次の正規表現を定義するのと同じです。Calling the IsMatch(String, String, RegexOptions, TimeSpan) method with the options parameter set to RegexOptions.IgnoreCase is equivalent to defining the following regular expression:

[a-zA-Z0-9]\d{2}[a-zA-Z0-9](-\d{3}){2}[A-Za-z0-9]  

比較のための例を参照してください、IsMatch(String, String)メソッド。For comparison, see the example for the IsMatch(String, String) method.

注釈

IsMatchまたは後続の操作のためには、その文字列を取得せず、その文字列が特定のパターンに準拠していることを確認する文字列を検証するメソッドが通常使用します。The IsMatch method is typically used to validate a string or to ensure that a string conforms to a particular pattern without retrieving that string for subsequent manipulation. 1 つまたは複数の文字列が正規表現パターンに一致し、して後続の操作の呼び出しを取得するかどうかを決定する場合、MatchまたはMatchesメソッド。If you want to determine whether one or more strings match a regular expression pattern and then retrieve them for subsequent manipulation, call the Match or Matches method.

静的なIsMatch(String, String, RegexOptions, TimeSpan)メソッドを作成するのには、Regexオブジェクトで指定された正規表現パターンでpatternと正規表現オプションを指定してoptionsを呼び出すと、IsMatch(String)インスタンスメソッド。The static IsMatch(String, String, RegexOptions, TimeSpan) method is equivalent to constructing a Regex object with the regular expression pattern specified by pattern and the regular expression options specified by options and calling the IsMatch(String) instance method. この正規表現パターンは、迅速な検索の正規表現エンジンによってキャッシュされます。This regular expression pattern is cached for rapid retrieval by the regular expression engine.

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.

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 メソッドが実行されるアプリケーション ドメインに対して定義されている既定のタイムアウト値をオーバーライドします。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.

こちらもご覧ください

適用対象