Regex.IsMatch Metode
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
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 pattern
null
.
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 pattern
null
.
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 pattern
null
.
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.