Aracılığıyla paylaş


Regex.IsMatch Yöntem

Tanım

Normal ifadenin giriş dizesinde bir eşleşme bulup bulmadığını gösterir.

Aşırı Yüklemeler

IsMatch(String, String, RegexOptions, TimeSpan)

Belirtilen normal ifadenin belirtilen eşleşen seçenekleri ve zaman aşımı aralığını kullanarak belirtilen giriş dizesinde eşleşme bulup bulmadığını gösterir.

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

Belirtilen normal ifadenin, belirtilen eşleştirme seçeneklerini ve zaman aşımı aralığını kullanarak belirtilen giriş aralığında bir eşleşme bulup bulmadığını gösterir.

IsMatch(String, String, RegexOptions)

Belirtilen normal ifadenin belirtilen eşleşen seçenekleri kullanarak belirtilen giriş dizesinde eşleşme bulup bulmadığını gösterir.

IsMatch(ReadOnlySpan<Char>, String, RegexOptions)

Belirtilen normal ifadenin belirtilen eşleştirme seçeneklerini kullanarak belirtilen giriş aralığında eşleşme bulup bulmadığını gösterir.

IsMatch(String, String)

Belirtilen normal ifadenin belirtilen giriş dizesinde bir eşleşme bulup bulmadığını gösterir.

IsMatch(ReadOnlySpan<Char>, Int32)

Regex oluşturucusunda belirtilen normal ifadenin belirtilen giriş aralığında bir eşleşme bulup bulmadığını gösterir.

IsMatch(ReadOnlySpan<Char>, String)

Belirtilen normal ifadenin belirtilen giriş aralığında bir eşleşme bulup bulmadığını gösterir.

IsMatch(String, Int32)

Regex oluşturucusunda belirtilen normal ifadenin, dizede belirtilen başlangıç konumundan başlayarak belirtilen giriş dizesinde bir eşleşme bulup bulmadığını gösterir.

IsMatch(String)

Regex oluşturucusunda belirtilen normal ifadenin belirtilen giriş dizesinde eşleşme bulup bulmadığını gösterir.

IsMatch(ReadOnlySpan<Char>)

Regex oluşturucusunda belirtilen normal ifadenin belirtilen giriş aralığında bir eşleşme bulup bulmadığını gösterir.

IsMatch(String, String, RegexOptions, TimeSpan)

Kaynak:
Regex.Match.cs
Kaynak:
Regex.Match.cs
Kaynak:
Regex.Match.cs

Belirtilen normal ifadenin belirtilen eşleşen seçenekleri ve zaman aşımı aralığını kullanarak belirtilen giriş dizesinde eşleşme bulup bulmadığını gösterir.

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

Parametreler

input
String

Eşleşme aranacak dize.

pattern
String

Eşleşecek normal ifade deseni.

options
RegexOptions

Eşleştirme seçenekleri sağlayan numaralandırma değerlerinin bit düzeyinde birleşimi.

matchTimeout
TimeSpan

Zaman aşımı aralığı veya yöntemin zaman aşımına neden olmaması gerektiğini belirtmek için InfiniteMatchTimeout.

Döndürülenler

Normal ifade bir eşleşme bulursa true; aksi takdirde false.

Özel durumlar

Normal ifade ayrıştırma hatası oluştu.

input veya patternnull.

options geçerli bir RegexOptions değeri değil.

-veya-

matchTimeout negatif, sıfır veya yaklaşık 24 günden uzundur.

Zaman aşımı oluştu.

Örnekler

Aşağıdaki örnek, bir dizenin geçerli bir parça numarası olup olmadığını belirlemek için IsMatch(String, String, RegexOptions, TimeSpan) yönteminin kullanımını gösterir. Normal ifade, parça numarasının kısa çizgilerle ayrılmış üç karakter kümesinden oluşan belirli bir biçime sahip olduğunu varsayar. Dört karakter içeren ilk küme, alfasayısal bir karakterden ve ardından iki sayısal karakterden ve ardından alfasayısal karakterden oluşmalıdır. Üç karakterden oluşan ikinci küme sayısal olmalıdır. Dört karakterden oluşan üçüncü kümede üç sayısal karakter ve ardından alfasayısal karakter olmalıdır. Normal ifade desenini eşleştirmek için giriş dizesinde minimum arama yapılması gerekir, bu nedenle yöntem 500 milisaniyelik bir zaman aşımı aralığı ayarlar.

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
    {
        bool isMatch = Regex.IsMatch(partNumber, pattern, RegexOptions.IgnoreCase, TimeSpan.FromMilliseconds(500));
        Console.WriteLine($"{partNumber} {(isMatch ? "is" : "is not")} a valid part number.");
    }
    catch (RegexMatchTimeoutException e)
    {
        Console.WriteLine($"Timeout after {e.MatchTimeout} seconds matching {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.

Normal ifade düzeni şöyledir:

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

Aşağıdaki tabloda normal ifade deseninin nasıl yorumlandığı gösterilmektedir.

Desen Açıklama
^ Eşleşmeye dizenin başında başlayın.
[A-Z0-9] A ile Zarasında tek bir alfabetik karakteri veya herhangi bir sayısal karakteri eşleştirin.
\d{2} İki sayısal karakter eşleştirin.
[A-Z0-9] A ile Zarasında tek bir alfabetik karakteri veya herhangi bir sayısal karakteri eşleştirin.
- Kısa çizgiyle eşleş.
\d{3} Tam olarak üç sayısal karakter eşleştirin.
(-\d{3}){2} Ardından üç sayısal karakter içeren bir kısa çizgi bulun ve bu desenin iki örneğini eşleştirin.
[A-Z0-9] A ile Zarasında tek bir alfabetik karakteri veya herhangi bir sayısal karakteri eşleştirin.
$ Dizenin sonunda eşleşmeyi sonlandırın.

options parametresi RegexOptions.IgnoreCase olarak ayarlanmış IsMatch(String, String, RegexOptions, TimeSpan) yöntemini çağırmak, aşağıdaki normal ifadeyi tanımlamaya eşdeğerdir:

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

Karşılaştırma için IsMatch(String, String) yöntemi örneğine bakın.

Açıklamalar

IsMatch yöntemi genellikle bir dizeyi doğrulamak veya sonraki işleme için bu dizeyi almadan bir dizenin belirli bir desene uygun olmasını sağlamak için kullanılır. Bir veya daha fazla dizenin normal ifade deseni ile eşleşip eşleşmediğini belirlemek ve sonra bunları sonraki işleme için almak istiyorsanız, Match veya Matches yöntemini çağırın.

Statik IsMatch(String, String, RegexOptions, TimeSpan) yöntemi, pattern tarafından belirtilen normal ifade deseni ve options tarafından belirtilen normal ifade seçenekleriyle IsMatch(String) örnek yöntemini çağıran bir Regex nesnesi oluşturmakla eşdeğerdir. Bu normal ifade düzeni, normal ifade altyapısı tarafından hızlı alma için önbelleğe alınır.

pattern parametresi, eşleşecek dizeyi simgesel olarak tanımlayan normal ifade dili öğelerinden oluşur. Normal ifadeler hakkında daha fazla bilgi için bkz. .NET Normal İfadeleri ve Normal İfade Dili - Hızlı Başvuru.

matchTimeout parametresi, bir desen eşleştirme yönteminin zaman aşımına uğramadan önce eşleşmeyi ne kadar süreyle bulmaya çalışması gerektiğini belirtir. Zaman aşımı aralığı ayarlamak, aşırı geri izleme kullanan normal ifadelerin, yakın eşleşmeler içeren girişleri işlerken yanıt vermeyi durdurmak için görünmesini engeller. Daha fazla bilgi için bkz. Normal İfadeler ve Geri İzlemeiçin En İyi Yöntemler. Bu zaman aralığında eşleşme bulunmazsa, yöntem bir RegexMatchTimeoutException özel durumu oluşturur. matchTimeout, yöntemin yürütüldiği uygulama etki alanı için tanımlanan varsayılan zaman aşımı değerlerini geçersiz kılar.

Arayanlara Notlar

matchTimeout parametresini iki saniye gibi uygun bir değere ayarlamanızı öneririz. InfiniteMatchTimeoutbelirterek zaman aşımlarını devre dışı bırakırsanız, normal ifade altyapısı biraz daha iyi performans sunar. Ancak, zaman aşımlarını yalnızca aşağıdaki koşullar altında devre dışı bırakmalısınız:

  • Normal bir ifade tarafından işlenen giriş bilinen ve güvenilen bir kaynaktan türetildiğinde veya statik metinden oluştuğunda. Bu, kullanıcılar tarafından dinamik olarak giriş yapılan metinleri dışlar.

  • Normal ifade deseni, eşleşmeleri, eşleşme olmayanları ve yakın eşleşmeleri verimli bir şekilde işlediğinden emin olmak için kapsamlı bir şekilde test edildiğinde.

  • Normal ifade deseni, yakın bir eşleşmeyi işlerken aşırı geri dönüşe neden olduğu bilinen bir dil öğesi içermediğinde.

Ayrıca bkz.

Şunlara uygulanır

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

Kaynak:
Regex.Match.cs
Kaynak:
Regex.Match.cs
Kaynak:
Regex.Match.cs

Belirtilen normal ifadenin, belirtilen eşleştirme seçeneklerini ve zaman aşımı aralığını kullanarak belirtilen giriş aralığında bir eşleşme bulup bulmadığını gösterir.

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

Parametreler

input
ReadOnlySpan<Char>

Eşleşme aramak için yayılma alanı.

pattern
String

Eşleşecek normal ifade deseni.

options
RegexOptions

Eşleştirme seçenekleri sağlayan numaralandırma değerlerinin bit düzeyinde birleşimi.

matchTimeout
TimeSpan

Zaman aşımı aralığı veya yöntemin zaman aşımına neden olmaması gerektiğini belirtmek için InfiniteMatchTimeout.

Döndürülenler

Normal ifade bir eşleşme bulursa true; aksi takdirde false.

Özel durumlar

Normal ifade ayrıştırma hatası oluştu.

pattern null

Zaman aşımı oluştu.

options geçerli bir RegexOptions değerinde değil veya matchTimeout negatif, sıfır veya yaklaşık 24 günden uzun.

Şunlara uygulanır

IsMatch(String, String, RegexOptions)

Kaynak:
Regex.Match.cs
Kaynak:
Regex.Match.cs
Kaynak:
Regex.Match.cs

Belirtilen normal ifadenin belirtilen eşleşen seçenekleri kullanarak belirtilen giriş dizesinde eşleşme bulup bulmadığını gösterir.

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

Parametreler

input
String

Eşleşme aranacak dize.

pattern
String

Eşleşecek normal ifade deseni.

options
RegexOptions

Eşleştirme seçenekleri sağlayan numaralandırma değerlerinin bit düzeyinde birleşimi.

Döndürülenler

Normal ifade bir eşleşme bulursa true; aksi takdirde false.

Özel durumlar

Normal ifade ayrıştırma hatası oluştu.

input veya patternnull.

options geçerli bir RegexOptions değeri değil.

Zaman aşımı oluştu. Zaman aşımları hakkında daha fazla bilgi için Açıklamalar bölümüne bakın.

Örnekler

Aşağıdaki örnek, bir dizenin geçerli bir parça numarası olup olmadığını belirlemek için IsMatch(String, String) yönteminin kullanımını gösterir. Normal ifade, parça numarasının kısa çizgilerle ayrılmış üç karakter kümesinden oluşan belirli bir biçime sahip olduğunu varsayar. Dört karakter içeren ilk küme, alfasayısal bir karakterden ve ardından iki sayısal karakterden ve ardından alfasayısal karakterden oluşmalıdır. Üç karakterden oluşan ikinci küme sayısal olmalıdır. Dört karakterden oluşan üçüncü kümede üç sayısal karakter ve ardından alfasayısal karakter olmalıdır.

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.

Normal ifade düzeni şöyledir:

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

Aşağıdaki tabloda normal ifade deseninin nasıl yorumlandığı gösterilmektedir.

Desen Açıklama
^ Eşleşmeye dizenin başında başlayın.
[A-Z0-9] A ile Zarasında tek bir alfabetik karakteri veya herhangi bir sayısal karakteri eşleştirin.
\d{2} İki sayısal karakter eşleştirin.
[A-Z0-9] A ile Zarasında tek bir alfabetik karakteri veya herhangi bir sayısal karakteri eşleştirin.
- Kısa çizgiyle eşleş.
\d{3} Tam olarak üç sayısal karakter eşleştirin.
(-\d{3}){2} Bir kısa çizgi ve ardından üç sayısal karakter bulun ve bu desenin iki örneğini eşleştirin..
[A-Z0-9] A ile Zarasında tek bir alfabetik karakteri veya herhangi bir sayısal karakteri eşleştirin.
$ Dizenin sonunda eşleşmeyi sonlandırın.

options parametresi RegexOptions.IgnoreCase olarak ayarlanmış IsMatch(String, String, RegexOptions) yöntemini çağırmak, aşağıdaki normal ifadeyi tanımlamaya eşdeğerdir:

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

Karşılaştırma için IsMatch(String, String) yöntemi örneğine bakın.

Açıklamalar

IsMatch yöntemi genellikle bir dizeyi doğrulamak veya sonraki işleme için bu dizeyi almadan bir dizenin belirli bir desene uygun olmasını sağlamak için kullanılır. Bir veya daha fazla dizenin normal ifade deseni ile eşleşip eşleşmediğini belirlemek ve sonra bunları sonraki işleme için almak istiyorsanız, Match veya Matches yöntemini çağırın.

Statik IsMatch(String, String, RegexOptions) yöntemi, pattern tarafından belirtilen normal ifade deseni ve options tarafından belirtilen normal ifade seçenekleriyle IsMatch(String) örnek yöntemini çağıran bir Regex nesnesi oluşturmakla eşdeğerdir. Bu normal ifade düzeni, normal ifade altyapısı tarafından hızlı alma için önbelleğe alınır.

pattern parametresi, eşleşecek dizeyi simgesel olarak tanımlayan normal ifade dili öğelerinden oluşur. Normal ifadeler hakkında daha fazla bilgi için bkz. .NET Normal İfadeleri ve Normal İfade Dili - Hızlı Başvuru.

Eşleşen işlemin yürütme süresi yöntemin çağrıldığı uygulama etki alanı için belirtilen zaman aşımı aralığını aşarsa RegexMatchTimeoutException özel durumu oluşturulur. Uygulama etki alanının özelliklerinde zaman aşımı tanımlanmamışsa veya zaman aşımı değeri Regex.InfiniteMatchTimeoutise özel durum oluşturmaz.

Arayanlara Notlar

Bu yöntem, çağrıldığı uygulama etki alanının varsayılan zaman aşımı değerine eşit bir aralıktan sonra zaman aşımına uğradı. Uygulama etki alanı için zaman aşımı değeri tanımlanmamışsa, yönteminin zaman aşımına girmesini engelleyen InfiniteMatchTimeoutdeğeri kullanılır. Desen eşleşmesinin IsMatch(String, String, RegexOptions, TimeSpan)olduğunu doğrulamak için önerilen statik yöntem, zaman aşımı aralığını ayarlamanıza olanak tanır.

Ayrıca bkz.

Şunlara uygulanır

IsMatch(ReadOnlySpan<Char>, String, RegexOptions)

Kaynak:
Regex.Match.cs
Kaynak:
Regex.Match.cs
Kaynak:
Regex.Match.cs

Belirtilen normal ifadenin belirtilen eşleştirme seçeneklerini kullanarak belirtilen giriş aralığında eşleşme bulup bulmadığını gösterir.

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

Parametreler

input
ReadOnlySpan<Char>

Eşleşme aramak için yayılma alanı.

pattern
String

Eşleşecek normal ifade deseni.

options
RegexOptions

Eşleştirme seçenekleri sağlayan numaralandırma değerlerinin bit düzeyinde birleşimi.

Döndürülenler

Normal ifade bir eşleşme bulursa true; aksi takdirde false.

Özel durumlar

Normal ifade ayrıştırma hatası oluştu.

pattern null

Zaman aşımı oluştu.

options geçerli bir RegexOptions değerinde değil.

Şunlara uygulanır

IsMatch(String, String)

Kaynak:
Regex.Match.cs
Kaynak:
Regex.Match.cs
Kaynak:
Regex.Match.cs

Belirtilen normal ifadenin belirtilen giriş dizesinde bir eşleşme bulup bulmadığını gösterir.

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

Parametreler

input
String

Eşleşme aranacak dize.

pattern
String

Eşleşecek normal ifade deseni.

Döndürülenler

Normal ifade bir eşleşme bulursa true; aksi takdirde false.

Özel durumlar

Normal ifade ayrıştırma hatası oluştu.

input veya patternnull.

Zaman aşımı oluştu. Zaman aşımları hakkında daha fazla bilgi için Açıklamalar bölümüne bakın.

Örnekler

Aşağıdaki örnek, bir dizenin geçerli bir parça numarası olup olmadığını belirlemek için IsMatch(String, String) yönteminin kullanımını gösterir. Normal ifade, parça numarasının kısa çizgilerle ayrılmış üç karakter kümesinden oluşan belirli bir biçime sahip olduğunu varsayar. Dört karakter içeren ilk küme, alfasayısal bir karakterden ve ardından iki sayısal karakterden ve ardından alfasayısal karakterden oluşmalıdır. Üç karakterden oluşan ikinci küme sayısal olmalıdır. Dört karakterden oluşan üçüncü kümede üç sayısal karakter ve ardından alfasayısal karakter olmalıdır.

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($"{partNumber} {(Regex.IsMatch(partNumber, pattern) ? "is" : "is not")} " +
        $"a valid part number.");

// 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.

Normal ifade düzeni şöyledir:

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

Aşağıdaki tabloda normal ifade deseninin nasıl yorumlandığı gösterilmektedir.

Desen Açıklama
^ Eşleşmeye satırın başında başlayın.
[a-zA-Z0-9] Tek bir alfabetik karakterle (az veya A ile Zarasında) veya sayısal karakterle eşleştirin.
\d{2} İki sayısal karakter eşleştirin.
[a-zA-Z0-9] Tek bir alfabetik karakterle (az veya A ile Zarasında) veya sayısal karakterle eşleştirin.
- Kısa çizgiyle eşleş.
\d{3} Tam olarak üç sayısal karakter eşleştirin.
(-\d{3}){2} Ardından üç sayısal karakter içeren bir kısa çizgi bulun ve bu desenin iki örneğini eşleştirin.
[a-zA-Z0-9] Tek bir alfabetik karakterle (az veya A ile Zarasında) veya sayısal karakterle eşleştirin.
$ Satırın sonundaki eşleşmeyi sonlandırın.

Açıklamalar

IsMatch yöntemi genellikle bir dizeyi doğrulamak veya sonraki işleme için bu dizeyi almadan bir dizenin belirli bir desene uygun olmasını sağlamak için kullanılır. Bir veya daha fazla dizenin normal ifade deseni ile eşleşip eşleşmediğini belirlemek ve sonra bunları sonraki işleme için almak istiyorsanız, Match veya Matches yöntemini çağırın.

Statik IsMatch(String, String) yöntemi, pattern tarafından belirtilen normal ifade desenine sahip bir Regex nesnesi oluşturmak ve IsMatch(String) örnek yöntemini çağırmakla eşdeğerdir. Bu normal ifade düzeni, normal ifade altyapısı tarafından hızlı alma için önbelleğe alınır.

pattern parametresi, eşleşecek dizeyi simgesel olarak tanımlayan normal ifade dili öğelerinden oluşur. Normal ifadeler hakkında daha fazla bilgi için bkz. .NET Normal İfadeleri ve Normal İfade Dili - Hızlı Başvuru.

Eşleşen işlemin yürütme süresi yöntemin çağrıldığı uygulama etki alanı için belirtilen zaman aşımı aralığını aşarsa RegexMatchTimeoutException özel durumu oluşturulur. Uygulama etki alanının özelliklerinde zaman aşımı tanımlanmamışsa veya zaman aşımı değeri Regex.InfiniteMatchTimeoutise özel durum oluşturmaz.

Arayanlara Notlar

Bu yöntem, yönteminin çağrıldığı uygulama etki alanının varsayılan zaman aşımı değerine eşit bir aralıktan sonra zaman aşımına uğradı. Uygulama etki alanı için zaman aşımı değeri tanımlanmamışsa, yönteminin zaman aşımına girmesini engelleyen InfiniteMatchTimeoutdeğeri kullanılır. Desen eşleşmesinin IsMatch(String, String, RegexOptions, TimeSpan)olduğunu doğrulamak için önerilen statik yöntem, zaman aşımı aralığını ayarlamanıza olanak tanır.

Ayrıca bkz.

Şunlara uygulanır

IsMatch(ReadOnlySpan<Char>, Int32)

Kaynak:
Regex.Match.cs
Kaynak:
Regex.Match.cs
Kaynak:
Regex.Match.cs

Regex oluşturucusunda belirtilen normal ifadenin belirtilen giriş aralığında bir eşleşme bulup bulmadığını gösterir.

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

Parametreler

input
ReadOnlySpan<Char>

Eşleşme aramak için yayılma alanı.

startat
Int32

Aramanın başlatıldığı sıfır tabanlı karakter konumu.

Döndürülenler

Normal ifade bir eşleşme bulursa true; aksi takdirde false.

Özel durumlar

Zaman aşımı oluştu.

Şunlara uygulanır

IsMatch(ReadOnlySpan<Char>, String)

Kaynak:
Regex.Match.cs
Kaynak:
Regex.Match.cs
Kaynak:
Regex.Match.cs

Belirtilen normal ifadenin belirtilen giriş aralığında bir eşleşme bulup bulmadığını gösterir.

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

Parametreler

input
ReadOnlySpan<Char>

Eşleşme aramak için yayılma alanı.

pattern
String

Eşleşecek normal ifade deseni.

Döndürülenler

Normal ifade bir eşleşme bulursa true; aksi takdirde false.

Özel durumlar

Normal ifade ayrıştırma hatası oluştu.

pattern null

Zaman aşımı oluştu.

Şunlara uygulanır

IsMatch(String, Int32)

Kaynak:
Regex.Match.cs
Kaynak:
Regex.Match.cs
Kaynak:
Regex.Match.cs

Regex oluşturucusunda belirtilen normal ifadenin, dizede belirtilen başlangıç konumundan başlayarak belirtilen giriş dizesinde bir eşleşme bulup bulmadığını gösterir.

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

Parametreler

input
String

Eşleşme aranacak dize.

startat
Int32

Aramanın başlatıldığı karakter konumu.

Döndürülenler

Normal ifade bir eşleşme bulursa true; aksi takdirde false.

Özel durumlar

input null.

startat sıfırdan küçük veya inputuzunluğundan büyük.

Zaman aşımı oluştu. Zaman aşımları hakkında daha fazla bilgi için Açıklamalar bölümüne bakın.

Örnekler

Aşağıdaki örnek, bir dizenin geçerli bir parça numarası olup olmadığını belirlemek için IsMatch(String, Int32) yönteminin kullanımını gösterir. Bir dizede iki nokta üst üste (:) karakteri) izleyen bir parça numarasını arar. IndexOf(Char) yöntemi, daha sonra IsMatch(String, Int32) yöntemine geçirilen iki nokta üst üste karakterinin konumunu belirlemek için kullanılır. Normal ifade, parça numarasının kısa çizgilerle ayrılmış üç karakter kümesinden oluşan belirli bir biçime sahip olduğunu varsayar. Dört karakter içeren ilk küme, alfasayısal bir karakterden ve ardından iki sayısal karakterden ve ardından alfasayısal karakterden oluşmalıdır. Üç karakterden oluşan ikinci küme sayısal olmalıdır. Dört karakterden oluşan üçüncü kümede üç sayısal karakter ve ardından alfasayısal karakter olmalıdır.

string[] partNumbers = [ "Part Number: 1298-673-4192", "Part No: A08Z-931-468A",
                      "_A90-123-129X", "123K-000-1230",
                      "SKU: 0919-2893-1256" ];
Regex rgx = MyRegex();
foreach (string partNumber in partNumbers)
{
    int start = partNumber.IndexOf(':');
    if (start >= 0)
    {
        Console.WriteLine($"{partNumber} {(rgx.IsMatch(partNumber, start) ? "is" : "is not")} a valid part number.");
    }
    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.

Normal ifade düzeni şöyledir:

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

Aşağıdaki tabloda normal ifade deseninin nasıl yorumlandığı gösterilmektedir.

Desen Açıklama
[a-zA-Z0-9] Tek bir alfabetik karakterle (az veya A ile Zarasında) veya sayısal karakterle eşleştirin.
\d{2} İki sayısal karakter eşleştirin.
[a-zA-Z0-9] Tek bir alfabetik karakterle (az veya A ile Zarasında) veya sayısal karakterle eşleştirin.
- Kısa çizgiyle eşleş.
\d{3} Tam olarak üç sayısal karakter eşleştirin.
(-\d{3}){2} Ardından üç sayısal karakter içeren bir kısa çizgi bulun ve bu desenin iki örneğini eşleştirin.
[a-zA-Z0-9] Tek bir alfabetik karakterle (az veya A ile Zarasında) veya sayısal karakterle eşleştirin.
$ Satırın sonundaki eşleşmeyi sonlandırın.

Açıklamalar

IsMatch yöntemi genellikle bir dizeyi doğrulamak veya sonraki işleme için bu dizeyi almadan bir dizenin belirli bir desene uygun olmasını sağlamak için kullanılır. Bir veya daha fazla dizenin normal ifade deseni ile eşleşip eşleşmediğini belirlemek ve sonra bunları sonraki işleme için almak istiyorsanız, Match veya Matches yöntemini çağırın.

startathakkında daha fazla ayrıntı için Match(String, Int32)'nin Açıklamalar bölümüne bakın.

Eşleşen işlemin yürütme süresi Regex.Regex(String, RegexOptions, TimeSpan) oluşturucu tarafından belirtilen zaman aşımı aralığını aşarsa RegexMatchTimeoutException özel durumu oluşturulur. Oluşturucuyu çağırdığınızda zaman aşımı aralığı ayarlamazsanız, işlem Regex nesnesinin oluşturulduğu uygulama etki alanı için belirlenen zaman aşımı değerini aşarsa özel durum oluşturulur. Regex oluşturucu çağrısında veya uygulama etki alanının özelliklerinde zaman aşımı tanımlanmadıysa veya zaman aşımı değeri Regex.InfiniteMatchTimeoutise, özel durum oluşturmaz.

Ayrıca bkz.

Şunlara uygulanır

IsMatch(String)

Kaynak:
Regex.Match.cs
Kaynak:
Regex.Match.cs
Kaynak:
Regex.Match.cs

Regex oluşturucusunda belirtilen normal ifadenin belirtilen giriş dizesinde eşleşme bulup bulmadığını gösterir.

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

Parametreler

input
String

Eşleşme aranacak dize.

Döndürülenler

Normal ifade bir eşleşme bulursa true; aksi takdirde false.

Özel durumlar

input null.

Zaman aşımı oluştu. Zaman aşımları hakkında daha fazla bilgi için Açıklamalar bölümüne bakın.

Örnekler

Aşağıdaki örnek, bir dizenin geçerli bir parça numarası olup olmadığını belirlemek için IsMatch(String) yönteminin kullanımını gösterir. Normal ifade, parça numarasının kısa çizgilerle ayrılmış üç karakter kümesinden oluşan belirli bir biçime sahip olduğunu varsayar. Dört karakter içeren ilk küme, alfasayısal bir karakterden ve ardından iki sayısal karakterden ve ardından alfasayısal karakterden oluşmalıdır. Üç karakterden oluşan ikinci küme sayısal olmalıdır. Dört karakterden oluşan üçüncü kümede üç sayısal karakter ve ardından alfasayısal karakter olmalıdır.

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($"{partNumber} {(rgx.IsMatch(partNumber) ? "is" : "is not")} a valid part number.");

// 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.

Normal ifade düzeni şöyledir:

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

Aşağıdaki tabloda normal ifade deseninin nasıl yorumlandığı gösterilmektedir.

Desen Açıklama
^ Eşleşmeye satırın başında başlayın.
[a-zA-Z0-9] Tek bir alfabetik karakterle (az veya A ile Zarasında) veya sayısal karakterle eşleştirin.
\d{2} İki sayısal karakter eşleştirin.
[a-zA-Z0-9] Tek bir alfabetik karakterle (az veya A ile Zarasında) veya sayısal karakterle eşleştirin.
- Kısa çizgiyle eşleş.
\d{3} Tam olarak üç sayısal karakter eşleştirin.
(-\d{3}){2} Ardından üç sayısal karakter içeren bir kısa çizgi bulun ve bu desenin iki örneğini eşleştirin.
[a-zA-Z0-9] Tek bir alfabetik karakterle (az veya A ile Zarasında) veya sayısal karakterle eşleştirin.
$ Satırın sonundaki eşleşmeyi sonlandırın.

Açıklamalar

IsMatch yöntemi genellikle bir dizeyi doğrulamak veya sonraki işleme için bu dizeyi almadan bir dizenin belirli bir desene uygun olmasını sağlamak için kullanılır. Bir veya daha fazla dizenin normal ifade deseni ile eşleşip eşleşmediğini belirlemek ve sonra bunları sonraki işleme için almak istiyorsanız, Match veya Matches yöntemini çağırın.

Eşleşen işlemin yürütme süresi Regex.Regex(String, RegexOptions, TimeSpan) oluşturucu tarafından belirtilen zaman aşımı aralığını aşarsa RegexMatchTimeoutException özel durumu oluşturulur. Oluşturucuyu çağırdığınızda zaman aşımı aralığı ayarlamazsanız, işlem Regex nesnesinin oluşturulduğu uygulama etki alanı için belirlenen zaman aşımı değerini aşarsa özel durum oluşturulur. Regex oluşturucu çağrısında veya uygulama etki alanının özelliklerinde zaman aşımı tanımlanmadıysa veya zaman aşımı değeri Regex.InfiniteMatchTimeoutise, özel durum oluşturmaz.

Ayrıca bkz.

Şunlara uygulanır

IsMatch(ReadOnlySpan<Char>)

Kaynak:
Regex.Match.cs
Kaynak:
Regex.Match.cs
Kaynak:
Regex.Match.cs

Regex oluşturucusunda belirtilen normal ifadenin belirtilen giriş aralığında bir eşleşme bulup bulmadığını gösterir.

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

Parametreler

input
ReadOnlySpan<Char>

Eşleşme aramak için yayılma alanı.

Döndürülenler

Normal ifade bir eşleşme bulursa true; aksi takdirde false.

Özel durumlar

Zaman aşımı oluştu.

Şunlara uygulanır