Regex.Match 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.
Mencari string input untuk substring yang cocok dengan pola ekspresi reguler dan mengembalikan kemunculan pertama sebagai objek Match tunggal.
Overload
Match(String) |
Mencari string input yang ditentukan untuk kemunculan pertama ekspresi reguler yang ditentukan dalam konstruktor Regex. |
Match(String, Int32) |
Mencari string input untuk kemunculan pertama ekspresi reguler, dimulai pada posisi awal yang ditentukan dalam string. |
Match(String, String) |
Mencari string input yang ditentukan untuk kemunculan pertama ekspresi reguler yang ditentukan. |
Match(String, Int32, Int32) |
Mencari string input untuk kemunculan pertama ekspresi reguler, dimulai pada posisi awal yang ditentukan dan hanya mencari jumlah karakter yang ditentukan. |
Match(String, String, RegexOptions) |
Mencari string input untuk kemunculan pertama ekspresi reguler yang ditentukan, menggunakan opsi pencocokan yang ditentukan. |
Match(String, String, RegexOptions, TimeSpan) |
Mencari string input untuk kemunculan pertama ekspresi reguler yang ditentukan, menggunakan opsi pencocokan yang ditentukan dan interval waktu habis. |
Match(String)
- Sumber:
- Regex.Match.cs
- Sumber:
- Regex.Match.cs
- Sumber:
- Regex.Match.cs
Mencari string input yang ditentukan untuk kemunculan pertama ekspresi reguler yang ditentukan dalam konstruktor Regex.
public:
System::Text::RegularExpressions::Match ^ Match(System::String ^ input);
public System.Text.RegularExpressions.Match Match (string input);
member this.Match : string -> System.Text.RegularExpressions.Match
Public Function Match (input As String) As Match
Parameter
- input
- String
String untuk mencari kecocokan.
Mengembalikan
Objek yang berisi informasi tentang kecocokan.
Pengecualian
input
null
.
Waktu habis terjadi. Untuk informasi selengkapnya tentang waktu habis, lihat bagian Keterangan.
Contoh
Contoh berikut menemukan kecocokan pola ekspresi reguler dalam string, lalu mencantumkan grup, pengambilan, dan posisi pengambilan yang cocok.
#using <System.dll>
using namespace System;
using namespace System::Text::RegularExpressions;
void main()
{
String^ text = "One car red car blue car";
String^ pat = "(\\w+)\\s+(car)";
// Compile the regular expression.
Regex^ r = gcnew Regex( pat,RegexOptions::IgnoreCase );
// Match the regular expression pattern against a text string.
Match^ m = r->Match(text);
int matchCount = 0;
while ( m->Success )
{
Console::WriteLine( "Match{0}", ++matchCount );
for ( int i = 1; i <= 2; i++ )
{
Group^ g = m->Groups[ i ];
Console::WriteLine( "Group{0}='{1}'", i, g );
CaptureCollection^ cc = g->Captures;
for ( int j = 0; j < cc->Count; j++ )
{
Capture^ c = cc[ j ];
System::Console::WriteLine( "Capture{0}='{1}', Position={2}", j, c, c->Index );
}
}
m = m->NextMatch();
}
}
// This example displays the following output:
// Match1
// Group1='One'
// Capture0='One', Position=0
// Group2='car'
// Capture0='car', Position=4
// Match2
// Group1='red'
// Capture0='red', Position=8
// Group2='car'
// Capture0='car', Position=12
// Match3
// Group1='blue'
// Capture0='blue', Position=16
// Group2='car'
// Capture0='car', Position=21
using System;
using System.Text.RegularExpressions;
class Example
{
static void Main()
{
string text = "One car red car blue car";
string pat = @"(\w+)\s+(car)";
// Instantiate the regular expression object.
Regex r = new Regex(pat, RegexOptions.IgnoreCase);
// Match the regular expression pattern against a text string.
Match m = r.Match(text);
int matchCount = 0;
while (m.Success)
{
Console.WriteLine("Match"+ (++matchCount));
for (int i = 1; i <= 2; i++)
{
Group g = m.Groups[i];
Console.WriteLine("Group"+i+"='" + g + "'");
CaptureCollection cc = g.Captures;
for (int j = 0; j < cc.Count; j++)
{
Capture c = cc[j];
System.Console.WriteLine("Capture"+j+"='" + c + "', Position="+c.Index);
}
}
m = m.NextMatch();
}
}
}
// This example displays the following output:
// Match1
// Group1='One'
// Capture0='One', Position=0
// Group2='car'
// Capture0='car', Position=4
// Match2
// Group1='red'
// Capture0='red', Position=8
// Group2='car'
// Capture0='car', Position=12
// Match3
// Group1='blue'
// Capture0='blue', Position=16
// Group2='car'
// Capture0='car', Position=21
Imports System.Text.RegularExpressions
Module Example
Public Sub Main()
Dim text As String = "One car red car blue car"
Dim pattern As String = "(\w+)\s+(car)"
' Instantiate the regular expression object.
Dim r As Regex = new Regex(pattern, RegexOptions.IgnoreCase)
' Match the regular expression pattern against a text string.
Dim m As Match = r.Match(text)
Dim matchcount as Integer = 0
Do While m.Success
matchCount += 1
Console.WriteLine("Match" & (matchCount))
Dim i As Integer
For i = 1 to 2
Dim g as Group = m.Groups(i)
Console.WriteLine("Group" & i & "='" & g.ToString() & "'")
Dim cc As CaptureCollection = g.Captures
Dim j As Integer
For j = 0 to cc.Count - 1
Dim c As Capture = cc(j)
Console.WriteLine("Capture" & j & "='" & c.ToString() _
& "', Position=" & c.Index)
Next
Next
m = m.NextMatch()
Loop
End Sub
End Module
' This example displays the following output:
' Match1
' Group1='One'
' Capture0='One', Position=0
' Group2='car'
' Capture0='car', Position=4
' Match2
' Group1='red'
' Capture0='red', Position=8
' Group2='car'
' Capture0='car', Position=12
' Match3
' Group1='blue'
' Capture0='blue', Position=16
' Group2='car'
' Capture0='car', Position=21
Pola ekspresi reguler (\w+)\s+(car)
cocok dengan kemunculan kata "mobil" bersama dengan kata yang mendahuluinya. Ini ditafsirkan seperti yang ditunjukkan dalam tabel berikut.
Pola | Deskripsi |
---|---|
(\w+) |
Cocokkan satu atau beberapa karakter kata. Ini adalah grup penangkapan pertama. |
\s+ |
Cocokkan satu atau beberapa karakter spasi putih. |
(Mobil) | Cocokkan string harfiah "mobil". Ini adalah grup penangkap kedua. |
Keterangan
Metode Match(String) mengembalikan substring pertama yang cocok dengan pola ekspresi reguler dalam string input. Untuk informasi tentang elemen bahasa yang digunakan untuk membangun pola ekspresi reguler, lihat Bahasa Ekspresi Reguler - Referensi Cepat.
Anda dapat menentukan apakah pola ekspresi reguler telah ditemukan dalam string input dengan memeriksa nilai properti Success objek Match yang dikembalikan. Jika kecocokan ditemukan, properti Value objek Match yang dikembalikan berisi substring dari input
yang cocok dengan pola ekspresi reguler. Jika tidak ada kecocokan yang ditemukan, nilainya adalah String.Empty.
Metode ini mengembalikan substring pertama dalam input
yang cocok dengan pola ekspresi reguler. Anda dapat mengambil kecocokan berikutnya dengan berulang kali memanggil metode Match.NextMatch objek Match yang dikembalikan. Anda juga dapat mengambil semua kecocokan dalam satu panggilan metode dengan memanggil metode Regex.Matches(String).
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
- NextMatch()
- Bahasa Ekspresi Reguler - Referensi Cepat
Berlaku untuk
Match(String, Int32)
- Sumber:
- Regex.Match.cs
- Sumber:
- Regex.Match.cs
- Sumber:
- Regex.Match.cs
Mencari string input untuk kemunculan pertama ekspresi reguler, dimulai pada posisi awal yang ditentukan dalam string.
public:
System::Text::RegularExpressions::Match ^ Match(System::String ^ input, int startat);
public System.Text.RegularExpressions.Match Match (string input, int startat);
member this.Match : string * int -> System.Text.RegularExpressions.Match
Public Function Match (input As String, startat As Integer) As Match
Parameter
- input
- String
String untuk mencari kecocokan.
- startat
- Int32
Posisi karakter berbasis nol untuk memulai pencarian.
Mengembalikan
Objek yang berisi informasi tentang kecocokan.
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.
Keterangan
Untuk informasi selengkapnya tentang API ini, lihat komentar API Tambahan untuk Regex.Match.
Lihat juga
- NextMatch()
- Bahasa Ekspresi Reguler - Referensi Cepat
Berlaku untuk
Match(String, String)
- Sumber:
- Regex.Match.cs
- Sumber:
- Regex.Match.cs
- Sumber:
- Regex.Match.cs
Mencari string input yang ditentukan untuk kemunculan pertama ekspresi reguler yang ditentukan.
public:
static System::Text::RegularExpressions::Match ^ Match(System::String ^ input, System::String ^ pattern);
public static System.Text.RegularExpressions.Match Match (string input, string pattern);
static member Match : string * string -> System.Text.RegularExpressions.Match
Public Shared Function Match (input As String, pattern As String) As Match
Parameter
- input
- String
String untuk mencari kecocokan.
- pattern
- String
Pola ekspresi reguler yang cocok.
Mengembalikan
Objek yang berisi informasi tentang kecocokan.
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 memanggil metode Match(String, String) untuk menemukan kata pertama yang berisi setidaknya satu karakter z
, lalu memanggil metode Match.NextMatch untuk menemukan kecocokan tambahan.
using System;
using System.Text.RegularExpressions;
namespace Examples
{
public class Example
{
public static void Main()
{
string input = "ablaze beagle choral dozen elementary fanatic " +
"glaze hunger inept jazz kitchen lemon minus " +
"night optical pizza quiz restoration stamina " +
"train unrest vertical whiz xray yellow zealous";
string pattern = @"\b\w*z+\w*\b";
Match m = Regex.Match(input, pattern);
while (m.Success)
{
Console.WriteLine("'{0}' found at position {1}", m.Value, m.Index);
m = m.NextMatch();
}
}
}
}
// The example displays the following output:
// 'ablaze' found at position 0
// 'dozen' found at position 21
// 'glaze' found at position 46
// 'jazz' found at position 65
// 'pizza' found at position 104
// 'quiz' found at position 110
// 'whiz' found at position 157
// 'zealous' found at position 174
Imports System.Text.RegularExpressions
Module Example
Public Sub Main()
Dim input As String = "ablaze beagle choral dozen elementary fanatic " +
"glaze hunger inept jazz kitchen lemon minus " +
"night optical pizza quiz restoration stamina " +
"train unrest vertical whiz xray yellow zealous"
Dim pattern As String = "\b\w*z+\w*\b"
Dim m As Match = Regex.Match(input, pattern)
Do While m.Success
Console.WriteLine("'{0}' found at position {1}", m.Value, m.Index)
m = m.NextMatch()
Loop
End Sub
End Module
' The example displays the following output:
'ablaze' found at position 0
'dozen' found at position 21
'glaze' found at position 46
'jazz' found at position 65
'pizza' found at position 104
'quiz' found at position 110
'whiz' found at position 157
'zealous' found at position 174
Pola ekspresi reguler \b\w*z+\w*\b
ditafsirkan seperti yang diperlihatkan dalam tabel berikut.
Pola | Deskripsi |
---|---|
\b |
Mulai kecocokan pada batas kata. |
\w* |
Cocokkan nol, satu, atau beberapa karakter kata. |
z+ |
Cocokkan satu atau beberapa kemunculan karakter z . |
\w* |
Cocokkan nol, satu, atau beberapa karakter kata. |
\b |
Akhiri kecocokan pada batas kata. |
Keterangan
Metode Match(String, String) mengembalikan substring pertama yang cocok dengan pola ekspresi reguler dalam string input. Untuk informasi tentang elemen bahasa yang digunakan untuk membangun pola ekspresi reguler, lihat Bahasa Ekspresi Reguler - Referensi Cepat.
Metode Match(String, String) statis setara dengan membangun objek Regex dengan pola ekspresi reguler yang ditentukan dan memanggil metode Match(String) instans. Dalam hal ini, mesin ekspresi reguler menyimpan pola 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.
Anda dapat menentukan apakah pola ekspresi reguler telah ditemukan dalam string input dengan memeriksa nilai properti Success objek Match yang dikembalikan. Jika kecocokan ditemukan, properti Value objek Match yang dikembalikan berisi substring dari input
yang cocok dengan pola ekspresi reguler. Jika tidak ada kecocokan yang ditemukan, nilainya adalah String.Empty.
Metode ini mengembalikan substring pertama dalam input
yang cocok dengan pola ekspresi reguler. Anda dapat mengambil kecocokan berikutnya dengan berulang kali memanggil metode Match.NextMatch objek Match yang dikembalikan. Anda juga dapat mengambil semua kecocokan dalam satu panggilan metode dengan memanggil metode Regex.Matches(String, String).
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 mengambil kecocokan pola adalah Match(String, String), yang memungkinkan Anda mengatur interval waktu habis.
Lihat juga
- NextMatch()
- Bahasa Ekspresi Reguler - Referensi Cepat
Berlaku untuk
Match(String, Int32, Int32)
- Sumber:
- Regex.Match.cs
- Sumber:
- Regex.Match.cs
- Sumber:
- Regex.Match.cs
Mencari string input untuk kemunculan pertama ekspresi reguler, dimulai pada posisi awal yang ditentukan dan hanya mencari jumlah karakter yang ditentukan.
public:
System::Text::RegularExpressions::Match ^ Match(System::String ^ input, int beginning, int length);
public System.Text.RegularExpressions.Match Match (string input, int beginning, int length);
member this.Match : string * int * int -> System.Text.RegularExpressions.Match
Public Function Match (input As String, beginning As Integer, length As Integer) As Match
Parameter
- input
- String
String untuk mencari kecocokan.
- beginning
- Int32
Posisi karakter berbasis nol dalam string input yang menentukan posisi paling kiri yang akan dicari.
- length
- Int32
Jumlah karakter dalam substring yang akan disertakan dalam pencarian.
Mengembalikan
Objek yang berisi informasi tentang kecocokan.
Pengecualian
input
null
.
beginning
kurang dari nol atau lebih besar dari panjang input
.
-atau-
length
kurang dari nol atau lebih besar dari panjang input
.
-atau-
beginning
+
length
-1
mengidentifikasi posisi yang berada di luar rentang input
.
Waktu habis terjadi. Untuk informasi selengkapnya tentang waktu habis, lihat bagian Keterangan.
Keterangan
Metode Match(String, Int32, Int32) mengembalikan substring pertama yang cocok dengan pola ekspresi reguler dalam sebagian string input. Untuk informasi tentang elemen bahasa yang digunakan untuk membangun pola ekspresi reguler, lihat Bahasa Ekspresi Reguler - Referensi Cepat.
Pola ekspresi reguler yang dicari metode Match(String, Int32, Int32) ditentukan oleh panggilan ke salah satu konstruktor kelas Regex. Untuk informasi selengkapnya tentang elemen yang dapat membentuk pola ekspresi reguler, lihat Bahasa Ekspresi Reguler - Referensi Cepat.
Metode Match(String, Int32, Int32) mencari bagian input
yang ditentukan oleh parameter beginning
dan length
untuk pola ekspresi reguler.
beginning
selalu menentukan indeks karakter paling kiri untuk disertakan dalam pencarian, dan length
menentukan jumlah karakter maksimum yang akan dicari. Bersama-sama, mereka menentukan rentang pencarian. Perilaku ini persis seolah-olah input
secara efektif input.Substring(beginning, length)
, kecuali bahwa indeks kecocokan apa pun dihitung relatif terhadap awal input
. Ini berarti bahwa setiap jangkar atau pernyataan lebar nol di awal atau akhir pola bertingkah seolah-olah tidak ada input
di luar rentang ini. Misalnya jangkar ^
, \G
, dan \A
akan terpenuhi pada beginning
dan $
dan \z
akan terpenuhi di beginning + length - 1
.
Jika pencarian berlanjut dari kiri ke kanan (default), mesin ekspresi reguler mencari dari karakter pada indeks beginning
ke karakter di indeks beginning + length - 1
. Jika mesin ekspresi reguler dibuat dengan menggunakan opsi RegexOptions.RightToLeft sehingga pencarian berlanjut dari kanan ke kiri, mesin ekspresi reguler mencari dari karakter pada indeks beginning + length - 1
ke karakter pada indeks beginning
.
Metode ini mengembalikan kecocokan pertama yang ditemukan dalam rentang ini. Anda dapat mengambil kecocokan berikutnya dengan berulang kali memanggil metode Match.NextMatch objek Match yang dikembalikan.
Anda dapat menentukan apakah pola ekspresi reguler telah ditemukan dalam string input dengan memeriksa nilai properti Success objek Match yang dikembalikan. Jika kecocokan ditemukan, properti Value objek Match yang dikembalikan berisi substring dari input
yang cocok dengan pola ekspresi reguler. Jika tidak ada kecocokan yang ditemukan, nilainya adalah String.Empty.
Pengecualian RegexMatchTimeoutException dilemparkan jika waktu eksekusi operasi pencocokan melebihi interval waktu habis yang ditentukan oleh konstruktor Regex.Regex(String, RegexOptions, TimeSpan). Jika Anda tidak menetapkan nilai waktu habis saat Anda memanggil konstruktor, pengecualian akan dilemparkan 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
- NextMatch()
- Bahasa Ekspresi Reguler - Referensi Cepat
Berlaku untuk
Match(String, String, RegexOptions)
- Sumber:
- Regex.Match.cs
- Sumber:
- Regex.Match.cs
- Sumber:
- Regex.Match.cs
Mencari string input untuk kemunculan pertama ekspresi reguler yang ditentukan, menggunakan opsi pencocokan yang ditentukan.
public:
static System::Text::RegularExpressions::Match ^ Match(System::String ^ input, System::String ^ pattern, System::Text::RegularExpressions::RegexOptions options);
public static System.Text.RegularExpressions.Match Match (string input, string pattern, System.Text.RegularExpressions.RegexOptions options);
static member Match : string * string * System.Text.RegularExpressions.RegexOptions -> System.Text.RegularExpressions.Match
Public Shared Function Match (input As String, pattern As String, options As RegexOptions) As Match
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
Objek yang berisi informasi tentang kecocokan.
Pengecualian
Terjadi kesalahan penguraian ekspresi reguler.
input
atau pattern
null
.
options
bukan kombinasi bitwise yang valid dari nilai RegexOptions.
Waktu habis terjadi. Untuk informasi selengkapnya tentang waktu habis, lihat bagian Keterangan.
Contoh
Contoh berikut mendefinisikan ekspresi reguler yang cocok dengan kata-kata yang dimulai dengan huruf "a". Ini menggunakan opsi RegexOptions.IgnoreCase untuk memastikan bahwa ekspresi reguler menemukan kata-kata yang dimulai dengan huruf besar "a" dan huruf kecil "a".
using System;
using System.Text.RegularExpressions;
namespace Examples
{
public class Example2
{
public static void Main()
{
string pattern = @"\ba\w*\b";
string input = "An extraordinary day dawns with each new day.";
Match m = Regex.Match(input, pattern, RegexOptions.IgnoreCase);
if (m.Success)
Console.WriteLine("Found '{0}' at position {1}.", m.Value, m.Index);
}
}
}
// The example displays the following output:
// Found 'An' at position 0.
Imports System.Text.RegularExpressions
Module Example
Public Sub Main()
Dim pattern As String = "\ba\w*\b"
Dim input As String = "An extraordinary day dawns with each new day."
Dim m As Match = Regex.Match(input, pattern, RegexOptions.IgnoreCase)
If m.Success Then
Console.WriteLine("Found '{0}' at position {1}.", m.Value, m.Index)
End If
End Sub
End Module
' The example displays the following output:
' Found 'An' at position 0.
Pola ekspresi reguler \ba\w*\b
ditafsirkan seperti yang diperlihatkan dalam tabel berikut.
Pola | Deskripsi |
---|---|
\b |
Mulai kecocokan pada batas kata. |
a |
Cocokkan karakter "a". |
\w* |
Cocokkan nol, satu, atau beberapa karakter kata. |
\b |
Akhiri kecocokan pada batas kata. |
Keterangan
Metode Match(String, String, RegexOptions) mengembalikan substring pertama yang cocok dengan pola ekspresi reguler dalam string input. Untuk informasi tentang elemen bahasa yang digunakan untuk membangun pola ekspresi reguler, lihat Bahasa Ekspresi Reguler - Referensi Cepat.
Metode Match(String, String, RegexOptions) statis setara dengan membangun objek Regex dengan konstruktor Regex(String, RegexOptions) dan memanggil metode Match(String) instans.
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.
Anda dapat menentukan apakah pola ekspresi reguler telah ditemukan dalam string input dengan memeriksa nilai properti Success objek Match yang dikembalikan. Jika kecocokan ditemukan, properti Value objek Match yang dikembalikan berisi substring dari input
yang cocok dengan pola ekspresi reguler. Jika tidak ada kecocokan yang ditemukan, nilainya adalah String.Empty.
Metode ini mengembalikan substring pertama yang ditemukan di input
yang cocok dengan pola ekspresi reguler. Anda dapat mengambil kecocokan berikutnya dengan berulang kali memanggil metode NextMatch objek Match yang dikembalikan. Anda juga dapat mengambil semua kecocokan dalam satu panggilan metode dengan memanggil metode Regex.Matches(String, String, RegexOptions).
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 mengambil kecocokan pola adalah Match(String, String), yang memungkinkan Anda mengatur interval waktu habis.
Lihat juga
- NextMatch()
- Bahasa Ekspresi Reguler - Referensi Cepat
Berlaku untuk
Match(String, String, RegexOptions, TimeSpan)
- Sumber:
- Regex.Match.cs
- Sumber:
- Regex.Match.cs
- Sumber:
- Regex.Match.cs
Mencari string input untuk kemunculan pertama ekspresi reguler yang ditentukan, menggunakan opsi pencocokan yang ditentukan dan interval waktu habis.
public:
static System::Text::RegularExpressions::Match ^ Match(System::String ^ input, System::String ^ pattern, System::Text::RegularExpressions::RegexOptions options, TimeSpan matchTimeout);
public static System.Text.RegularExpressions.Match Match (string input, string pattern, System.Text.RegularExpressions.RegexOptions options, TimeSpan matchTimeout);
static member Match : string * string * System.Text.RegularExpressions.RegexOptions * TimeSpan -> System.Text.RegularExpressions.Match
Public Shared Function Match (input As String, pattern As String, options As RegexOptions, matchTimeout As TimeSpan) As Match
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
Objek yang berisi informasi tentang kecocokan.
Pengecualian
Terjadi kesalahan penguraian ekspresi reguler.
input
atau pattern
null
.
options
bukan kombinasi bitwise yang valid dari nilai RegexOptions.
-atau-
matchTimeout
negatif, nol, atau lebih besar dari sekitar 24 hari.
Waktu habis terjadi. Untuk informasi selengkapnya tentang waktu habis, lihat bagian Keterangan.
Keterangan
Metode Match(String, String, RegexOptions, TimeSpan) mengembalikan substring pertama yang cocok dengan pola ekspresi reguler dalam string input. Untuk informasi tentang elemen bahasa yang digunakan untuk membangun pola ekspresi reguler, lihat Bahasa Ekspresi Reguler - Referensi Cepat.
Metode Match(String, String, RegexOptions, TimeSpan) statis setara dengan membangun objek Regex dengan konstruktor Regex(String, RegexOptions, TimeSpan) dan memanggil metode Match(String) instans.
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.
Anda dapat menentukan apakah pola ekspresi reguler telah ditemukan dalam string input dengan memeriksa nilai properti Success objek Match yang dikembalikan. Jika kecocokan ditemukan, properti Value objek Match yang dikembalikan berisi substring dari input
yang cocok dengan pola ekspresi reguler. Jika tidak ada kecocokan yang ditemukan, nilainya adalah String.Empty.
Metode ini mengembalikan substring pertama yang ditemukan di input
yang cocok dengan pola ekspresi reguler. Anda dapat mengambil kecocokan berikutnya dengan berulang kali memanggil metode NextMatch objek Match yang dikembalikan. Anda juga dapat mengambil semua kecocokan dalam satu panggilan metode dengan memanggil metode Regex.Matches(String, String, RegexOptions).
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
- Bahasa Ekspresi Reguler - Referensi Cepat