Regex.IsMatch Metode

Definisi

Menunjukkan apakah ekspresi reguler menemukan kecocokan dalam string input.

Overload

IsMatch(String, String, RegexOptions, TimeSpan)

Menunjukkan apakah ekspresi reguler yang ditentukan menemukan kecocokan dalam string input yang ditentukan, menggunakan opsi pencocokan yang ditentukan dan interval waktu habis.

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

Menunjukkan apakah ekspresi reguler yang ditentukan menemukan kecocokan dalam rentang input yang ditentukan, menggunakan opsi pencocokan yang ditentukan dan interval waktu habis.

IsMatch(String, String, RegexOptions)

Menunjukkan apakah ekspresi reguler yang ditentukan menemukan kecocokan dalam string input yang ditentukan, menggunakan opsi pencocokan yang ditentukan.

IsMatch(ReadOnlySpan<Char>, String, RegexOptions)

Menunjukkan apakah ekspresi reguler yang ditentukan menemukan kecocokan dalam rentang input yang ditentukan, menggunakan opsi pencocokan yang ditentukan.

IsMatch(String, String)

Menunjukkan apakah ekspresi reguler yang ditentukan menemukan kecocokan dalam string input yang ditentukan.

IsMatch(ReadOnlySpan<Char>, String)

Menunjukkan apakah ekspresi reguler yang ditentukan menemukan kecocokan dalam rentang input yang ditentukan.

IsMatch(ReadOnlySpan<Char>, Int32)

Menunjukkan apakah ekspresi reguler yang ditentukan dalam konstruktor Regex menemukan kecocokan dalam rentang input tertentu.

IsMatch(String)

Menunjukkan apakah ekspresi reguler yang ditentukan dalam konstruktor menemukan kecocokan Regex dalam string input tertentu.

IsMatch(ReadOnlySpan<Char>)

Menunjukkan apakah ekspresi reguler yang ditentukan dalam konstruktor Regex menemukan kecocokan dalam rentang input tertentu.

IsMatch(String, Int32)

Menunjukkan apakah ekspresi reguler yang ditentukan dalam konstruktor menemukan kecocokan Regex dalam string input yang ditentukan, dimulai pada posisi awal yang ditentukan dalam string.

IsMatch(String, String, RegexOptions, TimeSpan)

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

Menunjukkan apakah ekspresi reguler yang ditentukan menemukan kecocokan dalam string input yang ditentukan, menggunakan opsi pencocokan yang ditentukan dan interval waktu habis.

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

Parameter

input
String

String untuk mencari kecocokan.

pattern
String

Pola regex yang cocok.

options
RegexOptions

Kombinasi bitwise dari nilai enumerasi yang menyediakan opsi untuk pencocokan.

matchTimeout
TimeSpan

Interval waktu habis, atau InfiniteMatchTimeout untuk menunjukkan bahwa metode tidak boleh kehabisan waktu.

Mengembalikan

true jika ekspresi reguler menemukan kecocokan; jika tidak, false.

Pengecualian

Terjadi kesalahan penguraian ekspresi reguler.

input atau pattern adalah null.

options bukan nilai yang valid RegexOptions .

-atau-

matchTimeout negatif, nol, atau lebih besar dari sekitar 24 hari.

Waktu habis terjadi.

Contoh

Contoh berikut mengilustrasikan penggunaan IsMatch(String, String, RegexOptions, TimeSpan) metode untuk menentukan apakah string adalah nomor bagian yang valid. Ekspresi reguler mengasumsikan bahwa nomor bagian memiliki format tertentu yang terdiri dari tiga set karakter yang dipisahkan oleh tanda hubung. Set pertama, yang berisi empat karakter, harus terdiri dari karakter alfanumerik diikuti oleh dua karakter numerik diikuti oleh karakter alfanumerik. Set kedua, yang terdiri dari tiga karakter, harus numerik. Set ketiga, yang terdiri dari empat karakter, harus memiliki tiga karakter numerik diikuti oleh karakter alfanumerik. Mencocokkan pola ekspresi reguler harus melibatkan pencarian minimal melalui string input, sehingga metode menetapkan interval waktu habis 500 milidetik.

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.

Pola regex adalah:

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

Tabel berikut menunjukkan bagaimana pola regex ditafsirkan.

Pola Deskripsi
^ Mulailah pencocokan di awal string.
[A-Z0-9] Cocokkan karakter alfabet tunggal dari A melalui Z, atau karakter numerik apa pun.
\d{2} Cocokkan dua karakter numerik.
[A-Z0-9] Cocokkan karakter alfabet tunggal dari A melalui Z, atau karakter numerik apa pun.
- Cocokkan tanda hubung.
\d{3} Cocokkan tepat tiga karakter numerik.
(-\d{3}){2} Temukan tanda hubung diikuti oleh tiga karakter numerik, dan cocokkan dua kemunculan pola ini.
[A-Z0-9] Cocokkan karakter alfabet tunggal dari A melalui Z, atau karakter numerik apa pun.
$ Akhiri pencocokan pada akhir string.

Memanggil IsMatch(String, String, RegexOptions, TimeSpan) metode dengan parameter yang options diatur ke RegexOptions.IgnoreCase setara dengan mendefinisikan ekspresi reguler berikut:

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

Sebagai perbandingan, lihat contoh untuk metode .IsMatch(String, String)

Keterangan

Metode IsMatch ini biasanya digunakan untuk memvalidasi string atau untuk memastikan bahwa string sesuai dengan pola tertentu tanpa mengambil string tersebut untuk manipulasi berikutnya. Jika Anda ingin menentukan apakah satu atau beberapa string cocok dengan pola ekspresi reguler dan kemudian mengambilnya untuk manipulasi berikutnya, panggil Match metode atau Matches .

Metode statis IsMatch(String, String, RegexOptions, TimeSpan) setara dengan membangun Regex objek dengan pola ekspresi reguler yang ditentukan oleh pattern dan opsi ekspresi reguler yang ditentukan oleh options dan memanggil IsMatch(String) metode instans. Pola ekspresi reguler ini di-cache untuk pengambilan cepat oleh mesin ekspresi reguler.

Parameter pattern terdiri dari elemen bahasa ekspresi reguler yang secara simbolis menggambarkan string yang cocok. Untuk informasi selengkapnya tentang ekspresi reguler, lihat Ekspresi Reguler .NET dan Bahasa Ekspresi Reguler - Referensi Cepat.

Parameter matchTimeout menentukan berapa lama metode pencocokan pola harus mencoba menemukan kecocokan sebelum waktu habis. Mengatur interval waktu habis mencegah ekspresi reguler yang mengandalkan backtracking yang berlebihan muncul untuk berhenti merespons saat mereka memproses input yang berisi kecocokan dekat. Untuk informasi selengkapnya, lihat Praktik Terbaik untuk Ekspresi Reguler dan Backtracking. Jika tidak ada kecocokan yang ditemukan dalam interval waktu tersebut, metode akan memberikan RegexMatchTimeoutException pengecualian. matchTimeout mengambil alih nilai batas waktu default yang ditentukan untuk domain aplikasi tempat metode dijalankan.

Catatan Bagi Pemanggil

Kami menyarankan agar Anda mengatur matchTimeout parameter ke nilai yang sesuai, seperti dua detik. Jika Anda menonaktifkan waktu habis dengan menentukan InfiniteMatchTimeout, mesin ekspresi reguler menawarkan performa yang sedikit lebih baik. Namun, Anda harus menonaktifkan waktu habis hanya dalam kondisi berikut:

  • Ketika input yang diproses oleh ekspresi reguler berasal dari sumber yang diketahui dan tepercaya atau terdiri dari teks statis. Ini mengecualikan teks yang telah dimasukkan secara dinamis oleh pengguna.

  • Ketika pola ekspresi reguler telah diuji secara menyeluruh untuk memastikan bahwa pola tersebut secara efisien menangani kecocokan, non-kecocokan, dan mendekati kecocokan.

  • Ketika pola ekspresi reguler tidak berisi elemen bahasa yang diketahui menyebabkan backtracking yang berlebihan saat memproses kecocokan dekat.

Lihat juga

Berlaku untuk

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

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

Menunjukkan apakah ekspresi reguler yang ditentukan menemukan kecocokan dalam rentang input yang ditentukan, menggunakan opsi pencocokan yang ditentukan dan interval waktu habis.

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

Parameter

input
ReadOnlySpan<Char>

Rentang untuk mencari kecocokan.

pattern
String

Pola regex yang cocok.

options
RegexOptions

Kombinasi bitwise dari nilai enumerasi yang menyediakan opsi untuk pencocokan.

matchTimeout
TimeSpan

Interval waktu habis, atau InfiniteMatchTimeout untuk menunjukkan bahwa metode tidak boleh kehabisan waktu.

Mengembalikan

true jika ekspresi reguler menemukan kecocokan; jika tidak, false.

Pengecualian

Terjadi kesalahan penguraian ekspresi reguler.

pattern is null

Waktu habis terjadi.

options tidak dalam nilai yang valid RegexOptions atau matchTimeout negatif, nol, atau lebih besar dari sekitar 24 hari.

Berlaku untuk

IsMatch(String, String, RegexOptions)

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

Menunjukkan apakah ekspresi reguler yang ditentukan menemukan kecocokan dalam string input yang ditentukan, menggunakan opsi pencocokan yang ditentukan.

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

Parameter

input
String

String untuk mencari kecocokan.

pattern
String

Pola regex yang cocok.

options
RegexOptions

Kombinasi bitwise dari nilai enumerasi yang menyediakan opsi untuk pencocokan.

Mengembalikan

true jika ekspresi reguler menemukan kecocokan; jika tidak, false.

Pengecualian

Terjadi kesalahan penguraian ekspresi reguler.

input atau pattern adalah null.

options bukan nilai yang valid RegexOptions .

Waktu habis terjadi. Untuk informasi selengkapnya tentang waktu habis, lihat bagian Keterangan.

Contoh

Contoh berikut mengilustrasikan penggunaan IsMatch(String, String) metode untuk menentukan apakah string adalah nomor bagian yang valid. Ekspresi reguler mengasumsikan bahwa nomor bagian memiliki format tertentu yang terdiri dari tiga set karakter yang dipisahkan oleh tanda hubung. Set pertama, yang berisi empat karakter, harus terdiri dari karakter alfanumerik diikuti oleh dua karakter numerik diikuti oleh karakter alfanumerik. Set kedua, yang terdiri dari tiga karakter, harus numerik. Set ketiga, yang terdiri dari empat karakter, harus memiliki tiga karakter numerik diikuti oleh karakter alfanumerik.

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.

Pola regex adalah:

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

Tabel berikut menunjukkan bagaimana pola regex ditafsirkan.

Pola Deskripsi
^ Mulailah pencocokan di awal string.
[A-Z0-9] Cocokkan karakter alfabet tunggal dari A melalui Z, atau karakter numerik apa pun.
\d{2} Cocokkan dua karakter numerik.
[A-Z0-9] Cocokkan karakter alfabet tunggal dari A melalui Z, atau karakter numerik apa pun.
- Cocokkan tanda hubung.
\d{3} Cocokkan tepat tiga karakter numerik.
(-\d{3}){2} Temukan tanda hubung diikuti oleh tiga karakter numerik, dan cocokkan dua kemunculan pola ini..
[A-Z0-9] Cocokkan karakter alfabet tunggal dari A melalui Z, atau karakter numerik apa pun.
$ Akhiri pencocokan pada akhir string.

Memanggil IsMatch(String, String, RegexOptions) metode dengan parameter yang options diatur ke RegexOptions.IgnoreCase setara dengan menentukan ekspresi reguler berikut:

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

Sebagai perbandingan, lihat contoh untuk metode .IsMatch(String, String)

Keterangan

Metode IsMatch ini biasanya digunakan untuk memvalidasi string atau untuk memastikan bahwa string sesuai dengan pola tertentu tanpa mengambil string tersebut untuk manipulasi berikutnya. Jika Anda ingin menentukan apakah satu atau beberapa string cocok dengan pola ekspresi reguler lalu mengambilnya untuk manipulasi berikutnya, panggil Match metode atau Matches .

Metode statis IsMatch(String, String, RegexOptions) setara dengan membangun Regex objek dengan pola ekspresi reguler yang ditentukan oleh pattern dan opsi ekspresi reguler yang ditentukan oleh options dan memanggil IsMatch(String) metode instans. Pola ekspresi reguler ini di-cache untuk pengambilan cepat oleh mesin ekspresi reguler.

Parameter pattern terdiri dari elemen bahasa ekspresi reguler yang secara simbolis menggambarkan string yang cocok. Untuk informasi selengkapnya tentang ekspresi reguler, lihat Ekspresi Reguler .NET dan Bahasa Ekspresi Reguler - Referensi Cepat.

Pengecualian RegexMatchTimeoutException dilemparkan jika waktu eksekusi operasi pencocokan melebihi interval waktu habis yang ditentukan untuk domain aplikasi tempat metode dipanggil. Jika tidak ada waktu habis yang ditentukan dalam properti domain aplikasi, atau jika nilai waktu habis adalah Regex.InfiniteMatchTimeout, tidak ada pengecualian yang dilemparkan.

Catatan Bagi Pemanggil

Metode ini kehabisan waktu setelah interval yang sama dengan nilai batas waktu default domain aplikasi di mana ia dipanggil. Jika nilai waktu habis belum ditentukan untuk domain aplikasi, nilai InfiniteMatchTimeout, yang mencegah metode kehabisan waktu, digunakan. Metode statis yang direkomendasikan untuk memverifikasi kecocokan pola adalah IsMatch(String, String, RegexOptions, TimeSpan), yang memungkinkan Anda mengatur interval waktu habis.

Lihat juga

Berlaku untuk

IsMatch(ReadOnlySpan<Char>, String, RegexOptions)

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

Menunjukkan apakah ekspresi reguler yang ditentukan menemukan kecocokan dalam rentang input yang ditentukan, menggunakan opsi pencocokan yang ditentukan.

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

Parameter

input
ReadOnlySpan<Char>

Rentang untuk mencari kecocokan.

pattern
String

Pola regex yang cocok.

options
RegexOptions

Kombinasi bitwise dari nilai enumerasi yang menyediakan opsi untuk pencocokan.

Mengembalikan

true jika ekspresi reguler menemukan kecocokan; jika tidak, false.

Pengecualian

Terjadi kesalahan penguraian ekspresi reguler.

pattern is null

Waktu habis terjadi.

options tidak dalam nilai yang valid RegexOptions .

Berlaku untuk

IsMatch(String, String)

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

Menunjukkan apakah ekspresi reguler yang ditentukan menemukan kecocokan dalam string input yang ditentukan.

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

Parameter

input
String

String untuk mencari kecocokan.

pattern
String

Pola regex yang cocok.

Mengembalikan

true jika ekspresi reguler menemukan kecocokan; jika tidak, false.

Pengecualian

Terjadi kesalahan penguraian ekspresi reguler.

input atau pattern adalah null.

Waktu habis terjadi. Untuk informasi selengkapnya tentang waktu habis, lihat bagian Keterangan.

Contoh

Contoh berikut mengilustrasikan penggunaan IsMatch(String, String) metode untuk menentukan apakah string adalah nomor bagian yang valid. Ekspresi reguler mengasumsikan bahwa nomor bagian memiliki format tertentu yang terdiri dari tiga set karakter yang dipisahkan oleh tanda hubung. Set pertama, yang berisi empat karakter, harus terdiri dari karakter alfanumerik diikuti oleh dua karakter numerik diikuti oleh karakter alfanumerik. Set kedua, yang terdiri dari tiga karakter, harus numerik. Set ketiga, yang terdiri dari empat karakter, harus memiliki tiga karakter numerik diikuti oleh karakter alfanumerik.

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.

Pola regex adalah:

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

Tabel berikut menunjukkan bagaimana pola regex ditafsirkan.

Pola Deskripsi
^ Mulai kecocokan di awal baris.
[a-zA-Z0-9] Cocokkan karakter alfabet tunggal (a melalui z atau A melalui Z) atau karakter numerik.
\d{2} Cocokkan dua karakter numerik.
[a-zA-Z0-9] Cocokkan karakter alfabet tunggal (a melalui z atau A melalui Z) atau karakter numerik.
- Cocokkan tanda hubung.
\d{3} Cocokkan tepat tiga karakter numerik.
(-\d{3}){2} Temukan tanda hubung diikuti oleh tiga karakter numerik, dan cocokkan dua kemunculan pola ini.
[a-zA-Z0-9] Cocokkan karakter alfabet tunggal (a melalui z atau A melalui Z) atau karakter numerik.
$ Akhiri kecocokan di akhir baris.

Keterangan

Metode IsMatch ini biasanya digunakan untuk memvalidasi string atau untuk memastikan bahwa string sesuai dengan pola tertentu tanpa mengambil string tersebut untuk manipulasi berikutnya. Jika Anda ingin menentukan apakah satu atau beberapa string cocok dengan pola ekspresi reguler lalu mengambilnya untuk manipulasi berikutnya, panggil Match metode atau Matches .

Metode statis IsMatch(String, String) setara dengan membangun Regex objek dengan pola ekspresi reguler yang ditentukan oleh pattern dan memanggil IsMatch(String) metode instans. Pola ekspresi reguler ini di-cache untuk pengambilan cepat oleh mesin ekspresi reguler.

Parameter pattern terdiri dari elemen bahasa ekspresi reguler yang secara simbolis menggambarkan string yang cocok. Untuk informasi selengkapnya tentang ekspresi reguler, lihat Ekspresi Reguler .NET dan Bahasa Ekspresi Reguler - Referensi Cepat.

Pengecualian RegexMatchTimeoutException dilemparkan jika waktu eksekusi operasi pencocokan melebihi interval waktu habis yang ditentukan untuk domain aplikasi tempat metode dipanggil. Jika tidak ada waktu habis yang ditentukan dalam properti domain aplikasi, atau jika nilai waktu habis adalah Regex.InfiniteMatchTimeout, tidak ada pengecualian yang dilemparkan.

Catatan Bagi Pemanggil

Metode ini kehabisan waktu setelah interval yang sama dengan nilai batas waktu default domain aplikasi tempat metode dipanggil. Jika nilai waktu habis belum ditentukan untuk domain aplikasi, nilai InfiniteMatchTimeout, yang mencegah waktu habis metode digunakan. Metode statis yang direkomendasikan untuk memverifikasi kecocokan pola adalah IsMatch(String, String, RegexOptions, TimeSpan), yang memungkinkan Anda mengatur interval waktu habis.

Lihat juga

Berlaku untuk

IsMatch(ReadOnlySpan<Char>, String)

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

Menunjukkan apakah ekspresi reguler yang ditentukan menemukan kecocokan dalam rentang input yang ditentukan.

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

Parameter

input
ReadOnlySpan<Char>

Rentang untuk mencari kecocokan.

pattern
String

Pola regex yang cocok.

Mengembalikan

true jika ekspresi reguler menemukan kecocokan; jika tidak, false.

Pengecualian

Terjadi kesalahan penguraian ekspresi reguler.

pattern is null

Waktu habis terjadi.

Berlaku untuk

IsMatch(ReadOnlySpan<Char>, Int32)

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

Menunjukkan apakah ekspresi reguler yang ditentukan dalam konstruktor Regex menemukan kecocokan dalam rentang input tertentu.

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

Parameter

input
ReadOnlySpan<Char>

Rentang untuk mencari kecocokan.

startat
Int32

Posisi karakter berbasis nol untuk memulai pencarian.

Mengembalikan

true jika ekspresi reguler menemukan kecocokan; jika tidak, false.

Pengecualian

Waktu habis terjadi.

Berlaku untuk

IsMatch(String)

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

Menunjukkan apakah ekspresi reguler yang ditentukan dalam konstruktor menemukan kecocokan Regex dalam string input tertentu.

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

Parameter

input
String

String untuk mencari kecocokan.

Mengembalikan

true jika ekspresi reguler menemukan kecocokan; jika tidak, false.

Pengecualian

inputadalah null.

Waktu habis terjadi. Untuk informasi selengkapnya tentang waktu habis, lihat bagian Keterangan.

Contoh

Contoh berikut mengilustrasikan penggunaan IsMatch(String) metode untuk menentukan apakah string adalah nomor bagian yang valid. Ekspresi reguler mengasumsikan bahwa nomor bagian memiliki format tertentu yang terdiri dari tiga set karakter yang dipisahkan oleh tanda hubung. Set pertama, yang berisi empat karakter, harus terdiri dari karakter alfanumerik diikuti oleh dua karakter numerik diikuti oleh karakter alfanumerik. Set kedua, yang terdiri dari tiga karakter, harus numerik. Set ketiga, yang terdiri dari empat karakter, harus memiliki tiga karakter numerik diikuti oleh karakter alfanumerik.

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.

Pola regex adalah:

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

Tabel berikut menunjukkan bagaimana pola regex ditafsirkan.

Pola Deskripsi
^ Mulai kecocokan di awal baris.
[a-zA-Z0-9] Cocokkan karakter alfabet tunggal (a melalui z atau A melalui Z) atau karakter numerik.
\d{2} Cocokkan dua karakter numerik.
[a-zA-Z0-9] Cocokkan karakter alfabet tunggal (a melalui z atau A melalui Z) atau karakter numerik.
- Cocokkan tanda hubung.
\d{3} Cocokkan tepat tiga karakter numerik.
(-\d{3}){2} Temukan tanda hubung diikuti oleh tiga karakter numerik, dan cocokkan dua kemunculan pola ini.
[a-zA-Z0-9] Cocokkan karakter alfabet tunggal (a melalui z atau A melalui Z) atau karakter numerik.
$ Akhiri kecocokan di akhir baris.

Keterangan

Metode IsMatch ini biasanya digunakan untuk memvalidasi string atau untuk memastikan bahwa string sesuai dengan pola tertentu tanpa mengambil string tersebut untuk manipulasi berikutnya. Jika Anda ingin menentukan apakah satu atau beberapa string cocok dengan pola ekspresi reguler lalu mengambilnya untuk manipulasi berikutnya, panggil Match metode atau Matches .

Pengecualian RegexMatchTimeoutException dilemparkan jika waktu eksekusi operasi pencocokan melebihi interval waktu habis yang ditentukan oleh Regex.Regex(String, RegexOptions, TimeSpan) konstruktor. Jika Anda tidak mengatur interval waktu habis saat Anda memanggil konstruktor, pengecualian akan dilemparkan jika operasi melebihi nilai waktu habis yang ditetapkan untuk domain aplikasi tempat Regex objek dibuat. Jika tidak ada waktu habis yang ditentukan dalam Regex panggilan konstruktor atau di properti domain aplikasi, atau jika nilai waktu habis adalah Regex.InfiniteMatchTimeout, tidak ada pengecualian yang dilemparkan.

Lihat juga

Berlaku untuk

IsMatch(ReadOnlySpan<Char>)

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

Menunjukkan apakah ekspresi reguler yang ditentukan dalam konstruktor Regex menemukan kecocokan dalam rentang input tertentu.

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

Parameter

input
ReadOnlySpan<Char>

Rentang untuk mencari kecocokan.

Mengembalikan

true jika ekspresi reguler menemukan kecocokan; jika tidak, false.

Pengecualian

Waktu habis terjadi.

Berlaku untuk

IsMatch(String, Int32)

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

Menunjukkan apakah ekspresi reguler yang ditentukan dalam konstruktor menemukan kecocokan Regex dalam string input yang ditentukan, dimulai pada posisi awal yang ditentukan dalam string.

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

Parameter

input
String

String untuk mencari kecocokan.

startat
Int32

Posisi karakter untuk memulai pencarian.

Mengembalikan

true jika ekspresi reguler menemukan kecocokan; jika tidak, false.

Pengecualian

inputadalah null.

startat kurang dari nol atau lebih besar dari inputpanjang .

Waktu habis terjadi. Untuk informasi selengkapnya tentang waktu habis, lihat bagian Keterangan.

Contoh

Contoh berikut mengilustrasikan penggunaan IsMatch(String, Int32) metode untuk menentukan apakah string adalah nomor bagian yang valid. Ini mencari nomor bagian yang mengikuti titik dua (:) karakter dalam string. Metode IndexOf(Char) ini digunakan untuk menentukan posisi karakter titik dua, yang kemudian diteruskan ke IsMatch(String, Int32) metode . Ekspresi reguler mengasumsikan bahwa nomor bagian memiliki format tertentu yang terdiri dari tiga set karakter yang dipisahkan oleh tanda hubung. Set pertama, yang berisi empat karakter, harus terdiri dari karakter alfanumerik diikuti oleh dua karakter numerik diikuti oleh karakter alfanumerik. Set kedua, yang terdiri dari tiga karakter, harus numerik. Set ketiga, yang terdiri dari empat karakter, harus memiliki tiga karakter numerik diikuti oleh karakter alfanumerik.

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.

Pola regex adalah:

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

Tabel berikut menunjukkan bagaimana pola regex ditafsirkan.

Pola Deskripsi
[a-zA-Z0-9] Cocokkan karakter alfabet tunggal (a melalui z atau A melalui Z) atau karakter numerik.
\d{2} Cocokkan dua karakter numerik.
[a-zA-Z0-9] Cocokkan karakter alfabet tunggal (a melalui z atau A melalui Z) atau karakter numerik.
- Cocokkan tanda hubung.
\d{3} Cocokkan tepat tiga karakter numerik.
(-\d{3}){2} Temukan tanda hubung diikuti oleh tiga karakter numerik, dan cocokkan dua kemunculan pola ini.
[a-zA-Z0-9] Cocokkan karakter alfabet tunggal (a melalui z atau A melalui Z) atau karakter numerik.
$ Akhiri kecocokan di akhir baris.

Keterangan

Metode IsMatch ini biasanya digunakan untuk memvalidasi string atau untuk memastikan bahwa string sesuai dengan pola tertentu tanpa mengambil string tersebut untuk manipulasi berikutnya. Jika Anda ingin menentukan apakah satu atau beberapa string cocok dengan pola ekspresi reguler lalu mengambilnya untuk manipulasi berikutnya, panggil Match metode atau Matches .

Untuk detail selengkapnya tentang startat, lihat bagian Keterangan dari Match(String, Int32).

Pengecualian RegexMatchTimeoutException dilemparkan jika waktu eksekusi operasi pencocokan melebihi interval waktu habis yang ditentukan oleh Regex.Regex(String, RegexOptions, TimeSpan) konstruktor. Jika Anda tidak mengatur interval waktu habis saat Anda memanggil konstruktor, pengecualian akan dilemparkan jika operasi melebihi nilai waktu habis yang ditetapkan untuk domain aplikasi tempat Regex objek dibuat. Jika tidak ada waktu habis yang ditentukan dalam Regex panggilan konstruktor atau di properti domain aplikasi, atau jika nilai waktu habis adalah Regex.InfiniteMatchTimeout, tidak ada pengecualian yang dilemparkan.

Lihat juga

Berlaku untuk