Regex.IsMatch Yöntem
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
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 pattern
null
.
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 Z arası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 Z arası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 Z arası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
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 pattern
null
.
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 Z arası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 Z arası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 Z arası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
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 pattern
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, 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 (a z veya A ile Z arası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 (a z veya A ile Z arası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 (a z veya A ile Z arası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
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 input
uzunluğ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 (a z veya A ile Z arası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 (a z veya A ile Z arası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 (a z veya A ile Z arası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.
startat
hakkı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 (a z veya A ile Z arası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 (a z veya A ile Z arası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 (a z veya A ile Z arası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.