Saya mengalami kesulitan menemukan sumber daya yang bagus yang menjelaskan cara menggunakan Grup Pengambilan Nama di C #. Ini adalah kode yang saya miliki sejauh ini:
string page = Encoding.ASCII.GetString(bytePage);
Regex qariRegex = new Regex("<td><a href=\"(?<link>.*?)\">(?<name>.*?)</a></td>");
MatchCollection mc = qariRegex.Matches(page);
CaptureCollection cc = mc[0].Captures;
MessageBox.Show(cc[0].ToString());
Namun ini selalu menunjukkan baris penuh:
<td><a href="/path/to/file">Name of File</a></td>
Saya telah bereksperimen dengan beberapa "metode" lain yang saya temukan di berbagai situs web tetapi saya tetap mendapatkan hasil yang sama.
Bagaimana saya bisa mengakses grup penangkap bernama yang ditentukan dalam regex saya?
<>
akan memecahnya. Anda dapat menggunakannya (?'link'.*)
sebagai gantinya dalam hal ini. Tidak sepenuhnya relevan dengan pertanyaan ini, tetapi saya mendarat di sini dari pencarian Google ".net named capture groups" jadi saya yakin orang lain juga ...
<>
itu tidak akan merusaknya . Saya bisa menggunakan myRegex.GetGroupNames()
koleksi sebagai nama elemen XML.