Tôi đang gặp khó khăn trong việc tìm kiếm một tài nguyên tốt giải thích cách sử dụng Nhóm bắt giữ được đặt tên trong C #. Đây là mã mà tôi có cho đến nay:
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());
Tuy nhiên, điều này luôn chỉ hiển thị dòng đầy đủ:
<td><a href="/path/to/file">Name of File</a></td>
Tôi đã thử nghiệm với một số "phương pháp" khác mà tôi đã tìm thấy trên các trang web khác nhau nhưng tôi vẫn nhận được kết quả tương tự.
Làm cách nào tôi có thể truy cập vào các nhóm bắt giữ được đặt tên được chỉ định trong biểu thức chính quy của tôi?
<>
sẽ phá vỡ nó. Bạn có thể sử dụng (?'link'.*)
thay thế trong trường hợp này. Không hoàn toàn liên quan đến câu hỏi này nhưng tôi đã đến đây từ một tìm kiếm của Google về ".net có tên là các nhóm bắt giữ" vì vậy tôi chắc chắn rằng những người khác cũng vậy ...
<>
sẽ không phá vỡ nó. Tôi đã có thể sử dụng myRegex.GetGroupNames()
bộ sưu tập làm tên các thành phần XML.