Regex.IsMatch 메서드

정의

정규식이 입력 문자열에서 일치하는 항목을 찾을 것인지 여부를 나타냅니다.

오버로드

IsMatch(String, String, RegexOptions, TimeSpan)

지정된 정규식이 지정된 일치 옵션 및 시간 제한 간격을 사용하여 지정된 입력 문자열에서 일치하는 항목을 찾을 것인지 여부를 나타냅니다.

IsMatch(ReadOnlySpan<Char>, String, RegexOptions, TimeSpan)

지정된 정규식이 지정된 일치 옵션 및 제한 시간 간격을 사용하여 지정된 입력 범위에서 일치 항목을 찾는지 여부를 나타냅니다.

IsMatch(String, String, RegexOptions)

지정된 정규식이 지정된 일치 옵션을 사용하여 지정된 입력 문자열에서 일치하는 항목을 찾을 것인지 여부를 나타냅니다.

IsMatch(ReadOnlySpan<Char>, String, RegexOptions)

지정된 정규식이 지정된 일치 옵션을 사용하여 지정된 입력 범위에서 일치 항목을 찾는지 여부를 나타냅니다.

IsMatch(String, String)

지정된 정규식이 지정된 입력 문자열에서 일치하는 항목을 찾을 것인지 여부를 나타냅니다.

IsMatch(ReadOnlySpan<Char>, String)

지정된 정규식이 지정된 입력 범위에서 일치하는 항목을 찾는지 여부를 나타냅니다.

IsMatch(ReadOnlySpan<Char>, Int32)

Regex 생성자에 지정된 정규식이 지정된 입력 범위에서 일치하는 항목을 찾는지 여부를 나타냅니다.

IsMatch(String)

Regex 생성자에 지정된 정규식이 지정된 입력 문자열에서 일치하는 항목을 찾을 것인지 여부를 나타냅니다.

IsMatch(ReadOnlySpan<Char>)

Regex 생성자에 지정된 정규식이 지정된 입력 범위에서 일치하는 항목을 찾는지 여부를 나타냅니다.

IsMatch(String, Int32)

Regex 생성자에 지정된 정규식이 지정된 입력 문자열의 지정된 시작 위치에서부터 일치하는 항목을 찾을 것인지 여부를 나타냅니다.

IsMatch(String, String, RegexOptions, TimeSpan)

Source:
Regex.Match.cs
Source:
Regex.Match.cs
Source:
Regex.Match.cs

지정된 정규식이 지정된 일치 옵션 및 시간 제한 간격을 사용하여 지정된 입력 문자열에서 일치하는 항목을 찾을 것인지 여부를 나타냅니다.

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

일치 항목을 검색할 문자열입니다.

pattern
String

일치 항목을 찾을 정규식 패턴입니다.

options
RegexOptions

일치 옵션을 제공하는 열거형 값의 비트 조합입니다.

matchTimeout
TimeSpan

시간 제한 간격이거나, 메서드에 시간 제한이 없어야 함을 나타내는 InfiniteMatchTimeout 입니다.

반환

정규식에서 일치하는 항목을 찾으면 true이고, 그렇지 않으면 false입니다.

예외

정규식 구문 분석 오류가 발생했습니다.

input 또는 patternnull인 경우

options는 유효한 RegexOptions 값이 아닙니다.

또는

matchTimeout 이 음수, 0 또는 약 24일보다 큽니다.

시간이 초과되었습니다.

예제

다음 예제에서는 메서드를 사용하여 문자열이 IsMatch(String, String, RegexOptions, TimeSpan) 유효한 파트 번호인지 여부를 확인하는 방법을 보여 줍니다. 정규식에서는 부분 번호에 하이픈으로 구분된 세 개의 문자 집합으로 구성된 특정 형식이 있다고 가정합니다. 4개의 문자를 포함하는 첫 번째 집합은 영숫자 문자 뒤에 두 개의 숫자 문자와 영숫자 문자로 구성되어야 합니다. 세 문자로 구성된 두 번째 집합은 숫자여야 합니다. 4자로 구성된 세 번째 집합에는 세 개의 숫자 문자와 영숫자 문자가 있어야 합니다. 정규식 패턴과 일치하려면 입력 문자열을 통한 최소 검색이 포함되므로 메서드는 시간 제한 간격을 500밀리초로 설정합니다.

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.

정규식 패턴은 다음과 같습니다.

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

다음 테이블은 정규식 패턴이 해석되는 방법을 보여 줍니다.

무늬 설명
^ 문자열의 시작 부분에서 검색을 시작합니다.
[A-Z0-9] 의 단일 알파벳 문자 또는 AZ숫자 문자를 일치시킬 수 있습니다.
\d{2} 두 개의 숫자 문자를 일치시킬 수 있습니다.
[A-Z0-9] 의 단일 알파벳 문자 또는 AZ숫자 문자를 일치시킬 수 있습니다.
- 하이픈을 찾습니다.
\d{3} 정확히 세 개의 숫자 문자와 일치합니다.
(-\d{3}){2} 하이픈 뒤에 세 개의 숫자 문자를 찾아 이 패턴의 두 항목과 일치합니다.
[A-Z0-9] 의 단일 알파벳 문자 또는 AZ숫자 문자를 일치시킬 수 있습니다.
$ 문자열의 끝 부분에서 일치 항목 찾기를 끝냅니다.

매개 변수가 IsMatch(String, String, RegexOptions, TimeSpan) 로 설정된 RegexOptions.IgnoreCase 메서드를 options 호출하는 것은 다음 정규식을 정의하는 것과 같습니다.

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

비교하려면 메서드의 예제를 IsMatch(String, String) 참조하세요.

설명

메서드는 IsMatch 일반적으로 문자열의 유효성을 검사하거나 문자열이 후속 조작을 위해 해당 문자열을 검색하지 않고 특정 패턴을 준수하는지 확인하는 데 사용됩니다. 하나 이상의 문자열이 정규식 패턴과 일치하는지 확인한 다음 후속 조작을 위해 검색하려면 또는 Matches 메서드를 Match 호출합니다.

정적 IsMatch(String, String, RegexOptions, TimeSpan) 메서드는 에 지정된 정규식 패턴과 로 지정된 patternoptions 정규식 옵션을 사용하여 개체를 생성 Regex 하고 instance 메서드를 IsMatch(String) 호출하는 것과 같습니다. 이 정규식 패턴은 정규식 엔진에서 신속하게 검색하기 위해 캐시됩니다.

매개 변수는 pattern 일치시킬 문자열을 상징적으로 설명하는 정규식 언어 요소로 구성됩니다. 정규식에 대한 자세한 내용은 .NET 정규식정규식 언어 - 빠른 참조를 참조하세요.

매개 변수는 matchTimeout 패턴 일치 메서드가 시간 초과되기 전에 일치 항목을 찾으려고 시도하는 기간을 지정합니다. 제한 시간 간격을 설정하면 거의 일치하는 항목이 포함된 입력을 처리할 때 과도한 역추적에 의존하는 정규식이 응답을 중지하는 것처럼 보이지 않습니다. 자세한 내용은 정규식 및 역추적에 대한 모범 사례를 참조하세요. 해당 시간 간격에 일치하는 항목이 없으면 메서드는 예외를 RegexMatchTimeoutException throw합니다. matchTimeout 메서드를 실행 하는 애플리케이션 도메인에 대해 정의 된 모든 기본 제한 시간 값을 재정의 합니다.

호출자 참고

매개 변수를 matchTimeout 2초와 같은 적절한 값으로 설정하는 것이 좋습니다. 를 지정하여 시간 초과를 InfiniteMatchTimeout사용하지 않도록 설정하면 정규식 엔진이 약간 더 나은 성능을 제공합니다. 그러나 다음 조건에서만 시간 초과를 사용하지 않도록 설정해야 합니다.

  • 정규식에서 처리된 입력이 알려진 신뢰할 수 있는 원본에서 파생되거나 정적 텍스트로 구성된 경우 이렇게 하면 사용자가 동적으로 입력한 텍스트가 제외됩니다.

  • 정규식 패턴을 철저히 테스트하여 일치 항목, 비 일치 항목 및 근거리 일치를 효율적으로 처리하는지 확인합니다.

  • 정규식 패턴에 거의 일치 항목을 처리할 때 과도한 역추적을 유발하는 것으로 알려진 언어 요소가 없는 경우

추가 정보

적용 대상

IsMatch(ReadOnlySpan<Char>, String, RegexOptions, TimeSpan)

Source:
Regex.Match.cs
Source:
Regex.Match.cs
Source:
Regex.Match.cs

지정된 정규식이 지정된 일치 옵션 및 제한 시간 간격을 사용하여 지정된 입력 범위에서 일치 항목을 찾는지 여부를 나타냅니다.

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

매개 변수

input
ReadOnlySpan<Char>

일치 항목을 검색할 범위입니다.

pattern
String

일치 항목을 찾을 정규식 패턴입니다.

options
RegexOptions

일치 옵션을 제공하는 열거형 값의 비트 조합입니다.

matchTimeout
TimeSpan

시간 제한 간격이거나, 메서드에 시간 제한이 없어야 함을 나타내는 InfiniteMatchTimeout 입니다.

반환

정규식에서 일치하는 항목을 찾으면 true이고, 그렇지 않으면 false입니다.

예외

정규식 구문 분석 오류가 발생했습니다.

patternnull입니다.

시간이 초과되었습니다.

options 가 유효한 RegexOptions 값이 아니거나 matchTimeout 음수, 0 또는 약 24일보다 큽니다.

적용 대상

IsMatch(String, String, RegexOptions)

Source:
Regex.Match.cs
Source:
Regex.Match.cs
Source:
Regex.Match.cs

지정된 정규식이 지정된 일치 옵션을 사용하여 지정된 입력 문자열에서 일치하는 항목을 찾을 것인지 여부를 나타냅니다.

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

일치 항목을 검색할 문자열입니다.

pattern
String

일치 항목을 찾을 정규식 패턴입니다.

options
RegexOptions

일치 옵션을 제공하는 열거형 값의 비트 조합입니다.

반환

정규식에서 일치하는 항목을 찾으면 true이고, 그렇지 않으면 false입니다.

예외

정규식 구문 분석 오류가 발생했습니다.

input 또는 patternnull인 경우

options는 유효한 RegexOptions 값이 아닙니다.

시간이 초과되었습니다. 시간 제한에 대한 자세한 내용은 설명 섹션을 참조하세요.

예제

다음 예제에서는 메서드를 사용하여 문자열이 IsMatch(String, String) 유효한 파트 번호인지 여부를 확인하는 방법을 보여 줍니다. 정규식에서는 부분 번호에 하이픈으로 구분된 세 개의 문자 집합으로 구성된 특정 형식이 있다고 가정합니다. 4개의 문자를 포함하는 첫 번째 집합은 영숫자 문자 뒤에 두 개의 숫자 문자와 영숫자 문자로 구성되어야 합니다. 세 문자로 구성된 두 번째 집합은 숫자여야 합니다. 4자로 구성된 세 번째 집합에는 세 개의 숫자 문자와 영숫자 문자가 있어야 합니다.

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.

정규식 패턴은 다음과 같습니다.

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

다음 테이블은 정규식 패턴이 해석되는 방법을 보여 줍니다.

무늬 설명
^ 문자열의 시작 부분에서 검색을 시작합니다.
[A-Z0-9] 의 단일 알파벳 문자 또는 AZ숫자 문자를 일치시킬 수 있습니다.
\d{2} 두 개의 숫자 문자를 일치시킬 수 있습니다.
[A-Z0-9] 의 단일 알파벳 문자 또는 AZ숫자 문자를 일치시킬 수 있습니다.
- 하이픈을 찾습니다.
\d{3} 정확히 세 개의 숫자 문자와 일치합니다.
(-\d{3}){2} 하이픈 뒤에 세 개의 숫자 문자를 찾은 다음 이 패턴의 두 항목과 일치합니다.
[A-Z0-9] 의 단일 알파벳 문자 또는 AZ숫자 문자를 일치시킬 수 있습니다.
$ 문자열의 끝 부분에서 일치 항목 찾기를 끝냅니다.

매개 변수가 IsMatch(String, String, RegexOptions) 로 설정된 RegexOptions.IgnoreCase 메서드를 options 호출하는 것은 다음 정규식을 정의하는 것과 같습니다.

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

비교하려면 메서드의 예제를 IsMatch(String, String) 참조하세요.

설명

메서드는 IsMatch 일반적으로 문자열의 유효성을 검사하거나 문자열이 후속 조작을 위해 해당 문자열을 검색하지 않고 특정 패턴을 준수하는지 확인하는 데 사용됩니다. 하나 이상의 문자열이 정규식 패턴과 일치하는지 확인한 다음 후속 조작을 위해 검색하려면 또는 Matches 메서드를 Match 호출합니다.

정적 IsMatch(String, String, RegexOptions) 메서드는 에 지정된 정규식 패턴과 로 지정된 patternoptions 정규식 옵션을 사용하여 개체를 생성 Regex 하고 instance 메서드를 IsMatch(String) 호출하는 것과 같습니다. 이 정규식 패턴은 정규식 엔진에서 신속하게 검색하기 위해 캐시됩니다.

매개 변수는 pattern 일치시킬 문자열을 상징적으로 설명하는 정규식 언어 요소로 구성됩니다. 정규식에 대한 자세한 내용은 .NET 정규식정규식 언어 - 빠른 참조를 참조하세요.

RegexMatchTimeoutException 일치 하는 작업의 실행 시간이 메서드가 호출 되는 애플리케이션 도메인에 대 한 지정 된 시간 제한 간격을 초과 하는 경우 예외가 throw 됩니다. 시간 제한이 없으며 애플리케이션 도메인의 속성에 정의 된 제한 시간 값이 아니면 Regex.InfiniteMatchTimeout, 예외가 throw 되지 않습니다.

호출자 참고

이 메서드는 호출 되는 애플리케이션 도메인의 기본 제한 시간 값에 해당 간격이 지난 후 시간이 합니다. 애플리케이션 도메인에 값에 대 한 제한 시간 값을 정의 되지 않은 경우 InfiniteMatchTimeout, 메서드 시간 초과 방지 하는는 데 사용 됩니다. 패턴 일치를 확인하는 데 권장되는 정적 메서드는 시간 제한 간격을 설정할 수 있는 입니다 IsMatch(String, String, RegexOptions, TimeSpan).

추가 정보

적용 대상

IsMatch(ReadOnlySpan<Char>, String, RegexOptions)

Source:
Regex.Match.cs
Source:
Regex.Match.cs
Source:
Regex.Match.cs

지정된 정규식이 지정된 일치 옵션을 사용하여 지정된 입력 범위에서 일치 항목을 찾는지 여부를 나타냅니다.

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

매개 변수

input
ReadOnlySpan<Char>

일치 항목을 검색할 범위입니다.

pattern
String

일치 항목을 찾을 정규식 패턴입니다.

options
RegexOptions

일치 옵션을 제공하는 열거형 값의 비트 조합입니다.

반환

정규식에서 일치하는 항목을 찾으면 true이고, 그렇지 않으면 false입니다.

예외

정규식 구문 분석 오류가 발생했습니다.

patternnull입니다.

시간이 초과되었습니다.

options 가 유효한 RegexOptions 값이 아닙니다.

적용 대상

IsMatch(String, String)

Source:
Regex.Match.cs
Source:
Regex.Match.cs
Source:
Regex.Match.cs

지정된 정규식이 지정된 입력 문자열에서 일치하는 항목을 찾을 것인지 여부를 나타냅니다.

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

일치 항목을 검색할 문자열입니다.

pattern
String

일치 항목을 찾을 정규식 패턴입니다.

반환

정규식에서 일치하는 항목을 찾으면 true이고, 그렇지 않으면 false입니다.

예외

정규식 구문 분석 오류가 발생했습니다.

input 또는 patternnull인 경우

시간이 초과되었습니다. 시간 제한에 대한 자세한 내용은 설명 섹션을 참조하세요.

예제

다음 예제에서는 메서드를 사용하여 문자열이 IsMatch(String, String) 유효한 파트 번호인지 여부를 확인하는 방법을 보여 줍니다. 정규식에서는 부분 번호에 하이픈으로 구분된 세 개의 문자 집합으로 구성된 특정 형식이 있다고 가정합니다. 4개의 문자를 포함하는 첫 번째 집합은 영숫자 문자 뒤에 두 개의 숫자 문자와 영숫자 문자로 구성되어야 합니다. 세 문자로 구성된 두 번째 집합은 숫자여야 합니다. 4자로 구성된 세 번째 집합에는 세 개의 숫자 문자와 영숫자 문자가 있어야 합니다.

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.

정규식 패턴은 다음과 같습니다.

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

다음 테이블은 정규식 패턴이 해석되는 방법을 보여 줍니다.

무늬 설명
^ 줄의 시작 부분에서 일치를 시작합니다.
[a-zA-Z0-9] 단일 알파벳 문자(a~또는 를 통해 zZ) 또는 A 숫자 문자를 일치시킬 수 있습니다.
\d{2} 두 개의 숫자 문자를 일치시킬 수 있습니다.
[a-zA-Z0-9] 단일 알파벳 문자(a~또는 를 통해 zZ) 또는 A 숫자 문자를 일치시킬 수 있습니다.
- 하이픈을 찾습니다.
\d{3} 정확히 세 개의 숫자 문자와 일치합니다.
(-\d{3}){2} 하이픈 뒤에 세 개의 숫자 문자를 찾아 이 패턴의 두 항목과 일치합니다.
[a-zA-Z0-9] 단일 알파벳 문자(a~또는 를 통해 zZ) 또는 A 숫자 문자를 일치시킬 수 있습니다.
$ 줄 끝에서 일치 항목을 종료합니다.

설명

메서드는 IsMatch 일반적으로 문자열의 유효성을 검사하거나 문자열이 후속 조작을 위해 해당 문자열을 검색하지 않고 특정 패턴을 준수하는지 확인하는 데 사용됩니다. 하나 이상의 문자열이 정규식 패턴과 일치하는지 확인한 다음 후속 조작을 위해 검색하려면 또는 Matches 메서드를 Match 호출합니다.

정적 IsMatch(String, String) 메서드는 로 지정된 pattern 정규식 패턴을 사용하여 개체를 Regex 생성하고 instance 메서드를 호출하는 IsMatch(String) 것과 같습니다. 이 정규식 패턴은 정규식 엔진에서 신속하게 검색하기 위해 캐시됩니다.

매개 변수는 pattern 일치시킬 문자열을 상징적으로 설명하는 정규식 언어 요소로 구성됩니다. 정규식에 대한 자세한 내용은 .NET 정규식정규식 언어 - 빠른 참조를 참조하세요.

RegexMatchTimeoutException 일치 하는 작업의 실행 시간이 메서드가 호출 되는 애플리케이션 도메인에 대 한 지정 된 시간 제한 간격을 초과 하는 경우 예외가 throw 됩니다. 시간 제한이 없으며 애플리케이션 도메인의 속성에 정의 된 제한 시간 값이 아니면 Regex.InfiniteMatchTimeout, 예외가 throw 되지 않습니다.

호출자 참고

이 메서드는 메서드가 호출 되는 애플리케이션 도메인의 기본 제한 시간 값에 해당 간격이 지난 후 시간이 합니다. 애플리케이션 도메인에 값에 대 한 제한 시간 값을 정의 되지 않은 경우 InfiniteMatchTimeout, 메서드 시간 초과 방지 하는는 데 사용 됩니다. 패턴 일치를 확인하는 데 권장되는 정적 메서드는 시간 제한 간격을 설정할 수 있는 입니다 IsMatch(String, String, RegexOptions, TimeSpan).

추가 정보

적용 대상

IsMatch(ReadOnlySpan<Char>, String)

Source:
Regex.Match.cs
Source:
Regex.Match.cs
Source:
Regex.Match.cs

지정된 정규식이 지정된 입력 범위에서 일치하는 항목을 찾는지 여부를 나타냅니다.

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

매개 변수

input
ReadOnlySpan<Char>

일치 항목을 검색할 범위입니다.

pattern
String

일치 항목을 찾을 정규식 패턴입니다.

반환

정규식에서 일치하는 항목을 찾으면 true이고, 그렇지 않으면 false입니다.

예외

정규식 구문 분석 오류가 발생했습니다.

patternnull입니다.

시간이 초과되었습니다.

적용 대상

IsMatch(ReadOnlySpan<Char>, Int32)

Source:
Regex.Match.cs
Source:
Regex.Match.cs
Source:
Regex.Match.cs

Regex 생성자에 지정된 정규식이 지정된 입력 범위에서 일치하는 항목을 찾는지 여부를 나타냅니다.

public:
 bool IsMatch(ReadOnlySpan<char> input, int startat);
public bool IsMatch (ReadOnlySpan<char> input, int startat);
member this.IsMatch : ReadOnlySpan<char> * int -> bool
Public Function IsMatch (input As ReadOnlySpan(Of Char), startat As Integer) As Boolean

매개 변수

input
ReadOnlySpan<Char>

일치 항목을 검색할 범위입니다.

startat
Int32

검색을 시작할 문자 위치(0부터 시작)입니다.

반환

정규식에서 일치하는 항목을 찾으면 true이고, 그렇지 않으면 false입니다.

예외

시간이 초과되었습니다.

적용 대상

IsMatch(String)

Source:
Regex.Match.cs
Source:
Regex.Match.cs
Source:
Regex.Match.cs

Regex 생성자에 지정된 정규식이 지정된 입력 문자열에서 일치하는 항목을 찾을 것인지 여부를 나타냅니다.

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

일치 항목을 검색할 문자열입니다.

반환

정규식에서 일치하는 항목을 찾으면 true이고, 그렇지 않으면 false입니다.

예외

input이(가) null인 경우

시간이 초과되었습니다. 시간 제한에 대한 자세한 내용은 설명 섹션을 참조하세요.

예제

다음 예제에서는 메서드를 사용하여 문자열이 IsMatch(String) 유효한 파트 번호인지 여부를 확인하는 방법을 보여 줍니다. 정규식에서는 부분 번호에 하이픈으로 구분된 세 개의 문자 집합으로 구성된 특정 형식이 있다고 가정합니다. 4개의 문자를 포함하는 첫 번째 집합은 영숫자 문자 뒤에 두 개의 숫자 문자와 영숫자 문자로 구성되어야 합니다. 세 문자로 구성된 두 번째 집합은 숫자여야 합니다. 4자로 구성된 세 번째 집합에는 세 개의 숫자 문자와 영숫자 문자가 있어야 합니다.

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.

정규식 패턴은 다음과 같습니다.

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

다음 테이블은 정규식 패턴이 해석되는 방법을 보여 줍니다.

무늬 설명
^ 줄의 시작 부분에서 일치를 시작합니다.
[a-zA-Z0-9] 단일 알파벳 문자(a~또는 를 통해 zZ) 또는 A 숫자 문자를 일치시킬 수 있습니다.
\d{2} 두 개의 숫자 문자를 일치시킬 수 있습니다.
[a-zA-Z0-9] 단일 알파벳 문자(a~또는 를 통해 zZ) 또는 A 숫자 문자를 일치시킬 수 있습니다.
- 하이픈을 찾습니다.
\d{3} 정확히 세 개의 숫자 문자와 일치합니다.
(-\d{3}){2} 하이픈 뒤에 세 개의 숫자 문자를 찾아 이 패턴의 두 항목과 일치합니다.
[a-zA-Z0-9] 단일 알파벳 문자(a~또는 를 통해 zZ) 또는 A 숫자 문자를 일치시킬 수 있습니다.
$ 줄 끝에서 일치 항목을 종료합니다.

설명

메서드는 IsMatch 일반적으로 문자열의 유효성을 검사하거나 문자열이 후속 조작을 위해 해당 문자열을 검색하지 않고 특정 패턴을 준수하는지 확인하는 데 사용됩니다. 하나 이상의 문자열이 정규식 패턴과 일치하는지 확인한 다음 후속 조작을 위해 검색하려면 또는 Matches 메서드를 Match 호출합니다.

RegexMatchTimeoutException 일치 작업의 실행 시간이 생성자가 지정한 제한 시간 간격을 초과하면 예외가 Regex.Regex(String, RegexOptions, TimeSpan) throw됩니다. 생성자를 호출할 때 시간 제한 간격을 설정 하지 않으면, 작업이 있는 애플리케이션 도메인에 설정 된 제한 시간 값을 초과 하면 예외가 throw 되는 Regex 개체가 만들어집니다. 제한 시간에 정의 된 경우는 Regex 생성자 호출 또는 애플리케이션 도메인의 속성 또는 시간 제한 값이 Regex.InfiniteMatchTimeout, 예외가 throw 되지 않습니다.

추가 정보

적용 대상

IsMatch(ReadOnlySpan<Char>)

Source:
Regex.Match.cs
Source:
Regex.Match.cs
Source:
Regex.Match.cs

Regex 생성자에 지정된 정규식이 지정된 입력 범위에서 일치하는 항목을 찾는지 여부를 나타냅니다.

public:
 bool IsMatch(ReadOnlySpan<char> input);
public bool IsMatch (ReadOnlySpan<char> input);
member this.IsMatch : ReadOnlySpan<char> -> bool
Public Function IsMatch (input As ReadOnlySpan(Of Char)) As Boolean

매개 변수

input
ReadOnlySpan<Char>

일치 항목을 검색할 범위입니다.

반환

정규식에서 일치하는 항목을 찾으면 true이고, 그렇지 않으면 false입니다.

예외

시간이 초과되었습니다.

적용 대상

IsMatch(String, Int32)

Source:
Regex.Match.cs
Source:
Regex.Match.cs
Source:
Regex.Match.cs

Regex 생성자에 지정된 정규식이 지정된 입력 문자열의 지정된 시작 위치에서부터 일치하는 항목을 찾을 것인지 여부를 나타냅니다.

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

일치 항목을 검색할 문자열입니다.

startat
Int32

검색을 시작할 문자 위치입니다.

반환

정규식에서 일치하는 항목을 찾으면 true이고, 그렇지 않으면 false입니다.

예외

input이(가) null인 경우

startat이 0보다 작거나 input의 길이보다 큰 경우

시간이 초과되었습니다. 시간 제한에 대한 자세한 내용은 설명 섹션을 참조하세요.

예제

다음 예제에서는 메서드를 사용하여 문자열이 IsMatch(String, Int32) 유효한 파트 번호인지 여부를 확인하는 방법을 보여 줍니다. 콜론(:) 뒤에 있는 부품 번호를 검색합니다. 문자열의 문자입니다. 메서드는 IndexOf(Char) 콜론 문자의 위치를 결정하는 데 사용되며, 이 위치는 메서드에 IsMatch(String, Int32) 전달됩니다. 정규식에서는 부분 번호에 하이픈으로 구분된 세 개의 문자 집합으로 구성된 특정 형식이 있다고 가정합니다. 4개의 문자를 포함하는 첫 번째 집합은 영숫자 문자 뒤에 두 개의 숫자 문자와 영숫자 문자로 구성되어야 합니다. 세 문자로 구성된 두 번째 집합은 숫자여야 합니다. 4자로 구성된 세 번째 집합에는 세 개의 숫자 문자와 영숫자 문자가 있어야 합니다.

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.

정규식 패턴은 다음과 같습니다.

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

다음 테이블은 정규식 패턴이 해석되는 방법을 보여 줍니다.

무늬 설명
[a-zA-Z0-9] 단일 알파벳 문자(a~또는 를 통해 zZ) 또는 A 숫자 문자를 일치시킬 수 있습니다.
\d{2} 두 개의 숫자 문자를 일치시킬 수 있습니다.
[a-zA-Z0-9] 단일 알파벳 문자(a~또는 를 통해 zZ) 또는 A 숫자 문자를 일치시킬 수 있습니다.
- 하이픈을 찾습니다.
\d{3} 정확히 세 개의 숫자 문자와 일치합니다.
(-\d{3}){2} 하이픈 뒤에 세 개의 숫자 문자를 찾아 이 패턴의 두 항목과 일치합니다.
[a-zA-Z0-9] 단일 알파벳 문자(a~또는 를 통해 zZ) 또는 A 숫자 문자를 일치시킬 수 있습니다.
$ 줄 끝에서 일치 항목을 종료합니다.

설명

메서드는 IsMatch 일반적으로 문자열의 유효성을 검사하거나 문자열이 후속 조작을 위해 해당 문자열을 검색하지 않고 특정 패턴을 준수하는지 확인하는 데 사용됩니다. 하나 이상의 문자열이 정규식 패턴과 일치하는지 확인한 다음 후속 조작을 위해 검색하려면 또는 Matches 메서드를 Match 호출합니다.

에 대한 startat자세한 내용은 의 Match(String, Int32)설명 섹션을 참조하세요.

RegexMatchTimeoutException 일치 작업의 실행 시간이 생성자가 지정한 제한 시간 간격을 초과하면 예외가 Regex.Regex(String, RegexOptions, TimeSpan) throw됩니다. 생성자를 호출할 때 시간 제한 간격을 설정 하지 않으면, 작업이 있는 애플리케이션 도메인에 설정 된 제한 시간 값을 초과 하면 예외가 throw 되는 Regex 개체가 만들어집니다. 제한 시간에 정의 된 경우는 Regex 생성자 호출 또는 애플리케이션 도메인의 속성 또는 시간 제한 값이 Regex.InfiniteMatchTimeout, 예외가 throw 되지 않습니다.

추가 정보

적용 대상