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ştirme seçeneklerini 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 eşleşme bulup bulmadığını gösterir.

IsMatch(String, String, RegexOptions)

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

IsMatch(ReadOnlySpan<Char>, String, RegexOptions)

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

IsMatch(String, String)

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

IsMatch(ReadOnlySpan<Char>, String)

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

IsMatch(ReadOnlySpan<Char>, Int32)

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

IsMatch(String)

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

IsMatch(ReadOnlySpan<Char>)

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

IsMatch(String, Int32)

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

IsMatch(String, String, RegexOptions, TimeSpan)

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

Belirtilen normal ifadenin, belirtilen eşleştirme seçeneklerini 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ştirecek 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 InfiniteMatchTimeout yöntemin zaman aşımına neden olmaması gerektiğini belirtmek için.

Döndürülenler

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

Özel durumlar

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

input veya pattern şeklindedir null.

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

-veya-

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

Zaman aşımı oluştu.

Örnekler

Aşağıdaki örnekte, bir dizenin geçerli bir parça numarası olup olmadığını belirlemek için yönteminin IsMatch(String, String, RegexOptions, TimeSpan) kullanımı gösterilmektedir. 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 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ümenin ardından alfasayısal karakter gelen üç sayısal karakter olmalıdır. Normal ifade deseninin eşleşmesi için giriş dizesinde minimum arama yapılması gerekir, bu nedenle yöntem 500 milisaniyelik bir zaman aşımı aralığı ayarlar.

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.

Normal ifade deseni şu şekildedir:

^[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 Description
^ Eşleşmeye dizenin başlangıcından başlayın.
[A-Z0-9] içinden herhangi bir alfabetik karakteri AZveya herhangi bir sayısal karakteri eşleştirin.
\d{2} İki sayısal karakter eşleştirin.
[A-Z0-9] içinden herhangi bir alfabetik karakteri AZveya 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} Kısa çizgi ve ardından üç sayısal karakter bulun ve bu desenin iki örneğini eşleştirin.
[A-Z0-9] içinden herhangi bir alfabetik karakteri AZveya herhangi bir sayısal karakteri eşleştirin.
$ Dizenin sonunda eşleşmeyi sonlandırın.

IsMatch(String, String, RegexOptions, TimeSpan) parametresinin ayarlandığı RegexOptions.IgnoreCase yöntemini çağırmakoptions, aşağıdaki normal ifadenin tanımlanmasıyla 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 yöntem örneğine IsMatch(String, String) bakın.

Açıklamalar

IsMatch yöntemi genellikle bir dizeyi doğrulamak veya sonraki işleme için bu dizeyi almadan belirli bir desene uygun olduğundan emin olmak 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, veya Matches yöntemini çağırınMatch.

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

parametresi, pattern eşleşecek dizeyi sembolik 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.

parametresi, matchTimeout desen eşleştirme yönteminin zaman aşımına uğramadan önce eşleşmeyi ne kadar süreyle bulmaya çalışılması 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 durum 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

parametresini matchTimeout iki saniye gibi uygun bir değere ayarlamanızı öneririz. belirterek InfiniteMatchTimeoutzaman 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ırakmanız gerekir:

  • Normal bir ifade tarafından işlenen giriş bilinen ve güvenilir 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)

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

Belirtilen normal ifadenin, belirtilen eşleştirme seçeneklerini ve zaman aşımı aralığını 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, 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ştirecek 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 InfiniteMatchTimeout yöntemin zaman aşımına neden olmaması gerektiğini belirtmek için.

Döndürülenler

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

Özel durumlar

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

patternnull

Zaman aşımı oluştu.

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

Şunlara uygulanır

IsMatch(String, String, RegexOptions)

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

Belirtilen normal ifadenin belirtilen eşleştirme seçeneklerini 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ştirecek 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

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

Özel durumlar

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

input veya pattern şeklindedir null.

options geçerli RegexOptions bir değer 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 örnekte, bir dizenin geçerli bir parça numarası olup olmadığını belirlemek için yönteminin IsMatch(String, String) kullanımı gösterilmektedir. 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 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ümenin ardından alfasayısal karakter gelen üç sayısal karakter olmalıdır.

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.

Normal ifade deseni şu şekildedir:

^[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 Description
^ Eşleşmeye dizenin başlangıcından başlayın.
[A-Z0-9] içinden herhangi bir alfabetik karakteri AZveya herhangi bir sayısal karakteri eşleştirin.
\d{2} İki sayısal karakter eşleştirin.
[A-Z0-9] içinden gelen tek bir alfabetik karakteri AZveya 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] içinden gelen tek bir alfabetik karakteri AZveya herhangi bir sayısal karakteri eşleştirin.
$ Dizenin sonunda eşleşmeyi sonlandırın.

IsMatch(String, String, RegexOptions) yöntemini options parametresiyle çağırmakRegexOptions.IgnoreCase, 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 yöntem örneğine IsMatch(String, String) bakın.

Açıklamalar

IsMatch yöntemi genellikle bir dizeyi doğrulamak veya sonraki işleme için bu dizeyi almadan belirli bir desene uygun olduğundan emin olmak 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 düzenleme için almak istiyorsanız, veya Matches yöntemini çağırınMatch.

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

parametresi, pattern eşleşecek dizeyi sembolik 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 RegexMatchTimeoutException 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 özel durum oluşturulur. Uygulama etki alanının özelliklerinde zaman aşımı tanımlanmamışsa veya zaman aşımı değeri ise Regex.InfiniteMatchTimeoutö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 bir zaman aşımı değeri tanımlanmamışsa, yöntemin zaman aşımına girmesini engelleyen değeri InfiniteMatchTimeoutkullanılır. Desen eşleşmesini doğrulamak için önerilen statik yöntem, zaman aşımı aralığını ayarlamanıza olanak tanıyan yöntemidir IsMatch(String, String, RegexOptions, TimeSpan).

Ayrıca bkz.

Şunlara uygulanır

IsMatch(ReadOnlySpan<Char>, String, RegexOptions)

Source:
Regex.Match.cs
Source:
Regex.Match.cs
Source:
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ştirecek 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

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

Özel durumlar

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

patternnull

Zaman aşımı oluştu.

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

Şunlara uygulanır

IsMatch(String, String)

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

Belirtilen normal ifadenin belirtilen giriş dizesinde 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ştirecek normal ifade deseni.

Döndürülenler

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

Özel durumlar

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

input veya pattern şeklindedir 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 örnekte, bir dizenin geçerli bir parça numarası olup olmadığını belirlemek için yönteminin IsMatch(String, String) kullanımı gösterilmektedir. 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.

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.

Normal ifade deseni şu şekildedir:

^[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 Description
^ Eşleşmeyi satırın başında başlatın.
[a-zA-Z0-9] Tek bir alfabetik karakteri (a aracılığıyla z veya aracılığıylaZ) veya A sayısal karakteri eşleştirin.
\d{2} İki sayısal karakteri eşleştirin.
[a-zA-Z0-9] Tek bir alfabetik karakteri (a aracılığıyla z veya aracılığıylaZ) veya A 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-zA-Z0-9] Tek bir alfabetik karakteri (a aracılığıyla z veya aracılığıylaZ) veya A sayısal karakteri 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 belirli bir desene uygun olduğundan emin olmak 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 düzenleme için almak istiyorsanız, veya Matches yöntemini çağırınMatch.

Statik IsMatch(String, String) yöntem, tarafından pattern belirtilen ve örnek yöntemini çağıran normal ifade deseniyle bir Regex nesne oluşturmakla IsMatch(String) eşdeğerdir. Bu normal ifade deseni, normal ifade altyapısı tarafından hızlı bir şekilde alınması için önbelleğe alınır.

parametresi, pattern eşleşecek dizeyi sembolik 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 RegexMatchTimeoutException 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 özel durum oluşturulur. Uygulama etki alanının özelliklerinde zaman aşımı tanımlanmamışsa veya zaman aşımı değeri ise Regex.InfiniteMatchTimeoutö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 bir zaman aşımı değeri tanımlanmamışsa, yönteminin zaman aşımına geçmesini engelleyen değeri InfiniteMatchTimeoutkullanılır. Desen eşleşmesini doğrulamak için önerilen statik yöntem, zaman aşımı aralığını ayarlamanıza olanak tanıyan yöntemidir IsMatch(String, String, RegexOptions, TimeSpan).

Ayrıca bkz.

Şunlara uygulanır

IsMatch(ReadOnlySpan<Char>, String)

Source:
Regex.Match.cs
Source:
Regex.Match.cs
Source:
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ştirecek normal ifade deseni.

Döndürülenler

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

Özel durumlar

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

patternnull

Zaman aşımı oluştu.

Şunlara uygulanır

IsMatch(ReadOnlySpan<Char>, Int32)

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

Regex oluşturucusunda belirtilen normal ifadenin belirtilen giriş aralığında 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

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

Özel durumlar

Zaman aşımı oluştu.

Şunlara uygulanır

IsMatch(String)

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

Oluşturucuda belirtilen normal ifadenin Regex 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

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

Özel durumlar

input, null değeridir.

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 örnekte, bir dizenin geçerli bir parça numarası olup olmadığını belirlemek için yönteminin IsMatch(String) kullanımı gösterilmektedir. 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.

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.

Normal ifade deseni şu şekildedir:

^[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 Description
^ Eşleşmeyi satırın başında başlatın.
[a-zA-Z0-9] Tek bir alfabetik karakteri (a aracılığıyla z veya aracılığıylaZ) veya A sayısal karakteri eşleştirin.
\d{2} İki sayısal karakteri eşleştirin.
[a-zA-Z0-9] Tek bir alfabetik karakteri (a aracılığıyla z veya aracılığıylaZ) veya A 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-zA-Z0-9] Tek bir alfabetik karakteri (a aracılığıyla z veya aracılığıylaZ) veya A sayısal karakteri 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 belirli bir desene uygun olduğundan emin olmak 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 düzenleme için almak istiyorsanız, veya Matches yöntemini çağırınMatch.

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

Ayrıca bkz.

Şunlara uygulanır

IsMatch(ReadOnlySpan<Char>)

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

Regex oluşturucusunda belirtilen normal ifadenin belirtilen giriş aralığında 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

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

Özel durumlar

Zaman aşımı oluştu.

Şunlara uygulanır

IsMatch(String, Int32)

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

Oluşturucuda belirtilen normal ifadenin Regex , dizede belirtilen başlangıç konumundan başlayarak belirtilen giriş dizesinde 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

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

Özel durumlar

input, null değeridir.

startatsıfırdan küçük veya uzunluğundan büyük.input

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 örnekte, bir dizenin geçerli bir parça numarası olup olmadığını belirlemek için yönteminin IsMatch(String, Int32) kullanımı gösterilmektedir. İki nokta üst üste izleyen bir parça numarasını arar (:) bir dizedeki karakter. IndexOf(Char) yöntemi, daha sonra yöntemine geçirilen iki nokta üst üste karakterinin IsMatch(String, Int32) 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.

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.

Normal ifade deseni şu şekildedir:

[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 Description
[a-zA-Z0-9] Tek bir alfabetik karakteri (a aracılığıyla z veya aracılığıylaZ) veya A sayısal karakteri eşleştirin.
\d{2} İki sayısal karakteri eşleştirin.
[a-zA-Z0-9] Tek bir alfabetik karakteri (a aracılığıyla z veya aracılığıylaZ) veya A 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-zA-Z0-9] Tek bir alfabetik karakteri (a aracılığıyla z veya aracılığıylaZ) veya A sayısal karakteri 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 belirli bir desene uygun olduğundan emin olmak 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 düzenleme için almak istiyorsanız, veya Matches yöntemini çağırınMatch.

hakkında startatdaha fazla ayrıntı için öğesinin Açıklamalar bölümüne Match(String, Int32)bakın.

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

Ayrıca bkz.

Şunlara uygulanır