Bagikan melalui


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>, Int32)

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

IsMatch(ReadOnlySpan<Char>, String)

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

IsMatch(String, Int32)

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

IsMatch(String)

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

IsMatch(ReadOnlySpan<Char>)

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

IsMatch(String, String, RegexOptions, TimeSpan)

Sumber:
Regex.Match.cs
Sumber:
Regex.Match.cs
Sumber:
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 ekspresi reguler 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 patternnull.

options bukan nilai RegexOptions yang valid.

-atau-

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

Waktu habis terjadi.

Contoh

Contoh berikut mengilustrasikan penggunaan metode IsMatch(String, String, RegexOptions, TimeSpan) 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 mengatur interval waktu habis 500 milidetik.

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.

Pola ekspresi reguler adalah:

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

Tabel berikut ini memperlihatkan bagaimana pola ekspresi reguler ditafsirkan.

Pola Deskripsi
^ Mulai kecocokan 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 persis 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 kecocokan di akhir string.

Memanggil metode IsMatch(String, String, RegexOptions, TimeSpan) dengan parameter options yang 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 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 metode Match atau Matches.

Metode IsMatch(String, String, RegexOptions, TimeSpan) statis setara dengan membangun objek Regex dengan pola ekspresi reguler yang ditentukan oleh pattern dan opsi ekspresi reguler yang ditentukan oleh options dan memanggil metode instans IsMatch(String). 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 pengecualian RegexMatchTimeoutException. matchTimeout mengambil alih nilai batas waktu default yang ditentukan untuk domain aplikasi tempat metode dijalankan.

Catatan Bagi Pemanggil

Kami menyarankan agar Anda mengatur parameter matchTimeout 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 batas waktu 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 regex 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

  • Elemen Bahasa Ekspresi Reguler

Berlaku untuk

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

Sumber:
Regex.Match.cs
Sumber:
Regex.Match.cs
Sumber:
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 ekspresi reguler 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 null

Waktu habis terjadi.

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

Berlaku untuk

IsMatch(String, String, RegexOptions)

Sumber:
Regex.Match.cs
Sumber:
Regex.Match.cs
Sumber:
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 ekspresi reguler 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 patternnull.

options bukan nilai RegexOptions yang valid.

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

Contoh

Contoh berikut mengilustrasikan penggunaan metode IsMatch(String, String) 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.

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 ekspresi reguler adalah:

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

Tabel berikut ini memperlihatkan bagaimana pola ekspresi reguler ditafsirkan.

Pola Deskripsi
^ Mulai kecocokan 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 persis 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 kecocokan di akhir string.

Memanggil metode IsMatch(String, String, RegexOptions) dengan parameter options yang 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 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 metode Match atau Matches.

Metode IsMatch(String, String, RegexOptions) statis setara dengan membangun objek Regex dengan pola ekspresi reguler yang ditentukan oleh pattern dan opsi ekspresi reguler yang ditentukan oleh options dan memanggil metode instans IsMatch(String). 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 batas waktu 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

  • Elemen Bahasa Ekspresi Reguler

Berlaku untuk

IsMatch(ReadOnlySpan<Char>, String, RegexOptions)

Sumber:
Regex.Match.cs
Sumber:
Regex.Match.cs
Sumber:
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 ekspresi reguler 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 null

Waktu habis terjadi.

options tidak berada dalam nilai RegexOptions yang valid.

Berlaku untuk

IsMatch(String, String)

Sumber:
Regex.Match.cs
Sumber:
Regex.Match.cs
Sumber:
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 ekspresi reguler yang cocok.

Mengembalikan

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

Pengecualian

Terjadi kesalahan penguraian ekspresi reguler.

input atau patternnull.

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

Contoh

Contoh berikut mengilustrasikan penggunaan metode IsMatch(String, String) 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.

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.

Pola ekspresi reguler adalah:

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

Tabel berikut ini memperlihatkan bagaimana pola ekspresi reguler ditafsirkan.

Pola Deskripsi
^ Mulai kecocokan di awal baris.
[a-zA-Z0-9] Cocokkan satu karakter alfabet (a melalui z atau A melalui Z) atau karakter numerik.
\d{2} Cocokkan dua karakter numerik.
[a-zA-Z0-9] Cocokkan satu karakter alfabet (a melalui z atau A melalui Z) atau karakter numerik.
- Cocokkan tanda hubung.
\d{3} Cocokkan persis 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 satu karakter alfabet (a melalui z atau A melalui Z) atau karakter numerik.
$ Akhiri kecocokan di akhir baris.

Keterangan

Metode IsMatch 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 metode Match atau Matches.

Metode IsMatch(String, String) statis setara dengan membangun objek Regex dengan pola ekspresi reguler yang ditentukan oleh pattern dan memanggil metode instans IsMatch(String). 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 batas waktu 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 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

  • Elemen Bahasa Ekspresi Reguler

Berlaku untuk

IsMatch(ReadOnlySpan<Char>, Int32)

Sumber:
Regex.Match.cs
Sumber:
Regex.Match.cs
Sumber:
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(ReadOnlySpan<Char>, String)

Sumber:
Regex.Match.cs
Sumber:
Regex.Match.cs
Sumber:
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 ekspresi reguler yang cocok.

Mengembalikan

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

Pengecualian

Terjadi kesalahan penguraian ekspresi reguler.

pattern null

Waktu habis terjadi.

Berlaku untuk

IsMatch(String, Int32)

Sumber:
Regex.Match.cs
Sumber:
Regex.Match.cs
Sumber:
Regex.Match.cs

Menunjukkan apakah ekspresi reguler yang ditentukan dalam konstruktor Regex menemukan kecocokan 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

input null.

startat kurang dari nol atau lebih besar dari panjang input.

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

Contoh

Contoh berikut mengilustrasikan penggunaan metode IsMatch(String, Int32) untuk menentukan apakah string adalah nomor bagian yang valid. Ini mencari nomor bagian yang mengikuti titik dua (:) karakter dalam string. Metode IndexOf(Char) digunakan untuk menentukan posisi karakter titik dua, yang kemudian diteruskan ke metode IsMatch(String, Int32). 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.

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.

Pola ekspresi reguler adalah:

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

Tabel berikut ini memperlihatkan bagaimana pola ekspresi reguler ditafsirkan.

Pola Deskripsi
[a-zA-Z0-9] Cocokkan satu karakter alfabet (a melalui z atau A melalui Z) atau karakter numerik.
\d{2} Cocokkan dua karakter numerik.
[a-zA-Z0-9] Cocokkan satu karakter alfabet (a melalui z atau A melalui Z) atau karakter numerik.
- Cocokkan tanda hubung.
\d{3} Cocokkan persis 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 satu karakter alfabet (a melalui z atau A melalui Z) atau karakter numerik.
$ Akhiri kecocokan di akhir baris.

Keterangan

Metode IsMatch 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 metode Match 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 konstruktor Regex.Regex(String, RegexOptions, TimeSpan). Jika Anda tidak mengatur interval waktu habis saat Memanggil konstruktor, pengecualian akan dibuang jika operasi melebihi nilai batas waktu yang ditetapkan untuk domain aplikasi tempat objek Regex dibuat. Jika tidak ada waktu habis yang ditentukan dalam panggilan konstruktor Regex atau di properti domain aplikasi, atau jika nilai batas waktu Regex.InfiniteMatchTimeout, tidak ada pengecualian yang dilemparkan.

Lihat juga

  • Elemen Bahasa Ekspresi Reguler

Berlaku untuk

IsMatch(String)

Sumber:
Regex.Match.cs
Sumber:
Regex.Match.cs
Sumber:
Regex.Match.cs

Menunjukkan apakah ekspresi reguler yang ditentukan dalam konstruktor Regex menemukan kecocokan 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

input null.

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

Contoh

Contoh berikut mengilustrasikan penggunaan metode IsMatch(String) 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.

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.

Pola ekspresi reguler adalah:

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

Tabel berikut ini memperlihatkan bagaimana pola ekspresi reguler ditafsirkan.

Pola Deskripsi
^ Mulai kecocokan di awal baris.
[a-zA-Z0-9] Cocokkan satu karakter alfabet (a melalui z atau A melalui Z) atau karakter numerik.
\d{2} Cocokkan dua karakter numerik.
[a-zA-Z0-9] Cocokkan satu karakter alfabet (a melalui z atau A melalui Z) atau karakter numerik.
- Cocokkan tanda hubung.
\d{3} Cocokkan persis 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 satu karakter alfabet (a melalui z atau A melalui Z) atau karakter numerik.
$ Akhiri kecocokan di akhir baris.

Keterangan

Metode IsMatch 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 metode Match atau Matches.

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

Lihat juga

  • Elemen Bahasa Ekspresi Reguler

Berlaku untuk

IsMatch(ReadOnlySpan<Char>)

Sumber:
Regex.Match.cs
Sumber:
Regex.Match.cs
Sumber:
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