Mengakses kumpulan tangkapan bernama dalam ungkapan biasa .NET
Apabila menggunakan ungkapan biasa dalam C#, adalah penting untuk memahami cara mengakses kumpulan penangkap bernama. Ini membolehkan anda mendapatkan semula bahagian tertentu teks yang sepadan dengan mudah.
Dalam contoh anda, anda mentakrifkan dua kumpulan penangkap bernama: "pautan" dan "nama". Walau bagaimanapun, anda sedang cuba mengakses kumpulan ini menggunakan CaptureCollection, yang hanya menyediakan akses kepada kumpulan yang tidak dinamakan.
Untuk mengakses kumpulan penangkap bernama, anda perlu menggunakan sifat GroupCollection bagi objek Match. Setiap objek Padanan mengandungi koleksi kumpulan, termasuk kumpulan bernama dan kumpulan tidak bernama. Anda boleh mengindeks GroupCollection menggunakan nama kumpulan penangkap untuk mendapatkan semula padanan yang sepadan.
Berikut ialah versi kod yang diubah suai yang menunjukkan cara mengakses kumpulan tangkap bernama:
<code class="language-csharp">string page = Encoding.ASCII.GetString(bytePage); Regex qariRegex = new Regex("<td><a href=\"(?<link>.*?)\">(?<name>.*?)</a></td>"); MatchCollection mc = qariRegex.Matches(page); foreach (Match m in mc) { MessageBox.Show(m.Groups["link"].Value); MessageBox.Show(m.Groups["name"].Value); }</code>
Kod ini berulang melalui koleksi objek Padanan dan untuk setiap padanan ia menggunakan GroupCollection untuk mengakses kumpulan penangkap "pautan" dan "nama" dan memaparkan nilainya.
Atas ialah kandungan terperinci Bagaimana Saya Mengakses Kumpulan Menangkap Dinamakan dalam Regex .NET?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!