C #에서 명명 된 캡처 그룹을 사용하는 방법을 설명하는 좋은 리소스를 찾는 데 어려움을 겪고 있습니다. 이것은 지금까지 가지고있는 코드입니다.
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());
그러나 이것은 항상 전체 라인을 보여줍니다.
<td><a href="/path/to/file">Name of File</a></td>
다양한 웹 사이트에서 찾은 몇 가지 다른 "방법"을 실험했지만 동일한 결과를 계속 얻습니다.
정규식에 지정된 명명 된 캡처 그룹에 어떻게 액세스 할 수 있습니까?
<>
이 손상됩니다. (?'link'.*)
이 경우 대신 사용할 수 있습니다 . 이 질문과는 전혀 관련이 없지만 Google 검색에서 ".net named capture groups"를 검색 했으므로 다른 사람들도 마찬가지입니다.
<>
깨뜨리지 않습니다. myRegex.GetGroupNames()
컬렉션을 XML 요소 이름으로 사용할 수있었습니다 .