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ş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 A Z veya 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 A Z 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} |
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 A Z veya 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.
pattern
null
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 A Z veya 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 A Z 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] |
içinden gelen tek bir alfabetik karakteri A Z veya 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.
pattern
null
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.
pattern
null
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.
startat
sı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 startat
daha 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
Geri Bildirim
https://aka.ms/ContentUserFeedback.
Çok yakında: 2024 boyunca, içerik için geri bildirim mekanizması olarak GitHub Sorunları’nı kullanımdan kaldıracak ve yeni bir geri bildirim sistemiyle değiştireceğiz. Daha fazla bilgi için bkz.Gönderin ve geri bildirimi görüntüleyin