Compartir a través de


Regex.IsMatch Method (String, String, RegexOptions)

Microsoft Silverlight will reach end of support after October 2021. Learn more.

Indicates whether the regular expression finds a match in the input string, using the regular expression specified in the pattern parameter and the matching options supplied in the options parameter.

Namespace:  System.Text.RegularExpressions
Assembly:  System (in System.dll)

Syntax

'Declaration
Public Shared Function IsMatch ( _
    input As String, _
    pattern As String, _
    options As RegexOptions _
) As Boolean
public static bool IsMatch(
    string input,
    string pattern,
    RegexOptions options
)

Parameters

  • pattern
    Type: System.String
    The regular expression pattern to match.

Return Value

Type: System.Boolean
true if the regular expression finds a match; otherwise, false.

Exceptions

Exception Condition
ArgumentException

A regular expression parsing error occurred.

ArgumentNullException

input is nulla null reference (Nothing in Visual Basic).

-or-

pattern is nulla null reference (Nothing in Visual Basic).

ArgumentOutOfRangeException

options is not a valid RegexOptions value.

Remarks

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. To determine whether one or more strings match a regular expression pattern and to retrieve them for subsequent manipulation, call the Match or Matches method.

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.

The pattern parameter consists of various regular expression language elements that symbolically describe the string to match. For more information about regular expressions, see Regular Expression Language - Quick Reference and the Regular Expression Language Elements topic in the .NET Framework documentation.

Examples

The following example illustrates the use of the IsMatch(String, String) method to determine whether a string is a valid part number. The regular expression assumes that the part number has a specific format that consists of three sets of characters separated by hyphens. The first set, which contains four characters, must consist of an alphanumeric character followed by two numeric characters followed by an alphanumeric character. The second set, which consists of three characters, must be numeric. The third set, which consists of four characters, must have three numeric characters followed by an alphanumeric character.

Imports System.Text.RegularExpressions

Module Example
   Public Sub Demo(ByVal outputBlock As System.Windows.Controls.TextBlock)
      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
         outputBlock.Text += String.Format("{0} {1} a valid part number.", _
                           partNumber, _
                           IIf(Regex.IsMatch(partNumber, pattern, RegexOptions.IgnoreCase), _
                               "is", "is not")) & vbCrLf
      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.
using System;
using System.Text.RegularExpressions;

public class Example
{
   public static void Demo(System.Windows.Controls.TextBlock outputBlock)
   {
      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)
         outputBlock.Text += String.Format("{0} {1} a valid part number.",
                           partNumber,
                           Regex.IsMatch(partNumber, pattern, RegexOptions.IgnoreCase)
                                         ? "is" : "is not") + "\n";
   }
}
// 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]

Match any single alphabetic character from A through Z, or any numeric character.

\d{2}

Match two numeric characters.

[A-Z0-9]

Match any single alphabetic character from A through Z, or any numeric character.

-

Match a hyphen.

\d{3}

Match exactly three numeric characters.

(-\d{3}){2}

Find a hyphen followed by three numeric characters, and match two occurrences of this pattern..

[A-Z0-9]

Match any single alphabetic character from A through Z, or any numeric character.

$

End the match at the end of the string.

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]

For comparison, see the example for the IsMatch(String, String) method.

Version Information

Silverlight

Supported in: 5, 4, 3

Silverlight for Windows Phone

Supported in: Windows Phone OS 7.1, Windows Phone OS 7.0

XNA Framework

Supported in: Xbox 360, Windows Phone OS 7.0

Platforms

For a list of the operating systems and browsers that are supported by Silverlight, see Supported Operating Systems and Browsers.