Regex.IsMatch Method (String)
Indicates whether the regular expression specified in the Regex constructor finds a match in a specified input string.
Assembly: System (in System.dll)
Parameters
- input
-
Type:
System.String
The string to search for a match.
| Exception | Condition |
|---|---|
| ArgumentNullException | input is null. |
| RegexMatchTimeoutException | A time-out occurred. For more information about time-outs, see the Remarks section. |
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. 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.
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. 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. 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.
The following example illustrates the use of the IsMatch(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 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] | Match a single alphabetic character (a through z or A through Z) or numeric character. |
\d{2} | Match two numeric characters. |
[a-zA-Z0-9] | Match a single alphabetic character (a through z or A through Z) or 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-zA-Z0-9] | Match a single alphabetic character (a through z or A through Z) or numeric character. |
$ | End the match at the end of the line. |
Available since 8
.NET Framework
Available since 1.1
Portable Class Library
Supported in: portable .NET platforms
Silverlight
Available since 2.0
Windows Phone Silverlight
Available since 7.0
Windows Phone
Available since 8.1