.NET 정규식에서 명명된 캡처 그룹에 액세스
.NET 정규식에서 명명된 캡처링 그룹에 액세스하려면 캡처링 그룹 이름을 인덱스로 사용하여 MatchCollection.Groups
특성을 사용해야 합니다. 코드에서 발생한 문제를 해결해 보겠습니다.
<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); CaptureCollection cc = mc[0].Captures; MessageBox.Show(cc[0].ToString());</code>
이 코드는 Captures
컬렉션에 액세스하여 캡처링 그룹의 값을 검색하려고 시도하지만 일치하는 전체 문자열만 검색합니다. 특정 명명된 캡처 그룹에 액세스하려면 다음과 같이 MatchCollection.Groups
속성을 사용해야 합니다.
<code class="language-csharp">foreach (Match m in mc) { MessageBox.Show(m.Groups["link"].Value); // 将 "link" 替换为任何其他命名捕获组名称 }</code>
캡처링 그룹 이름(예: "link")을 MatchCollection.Groups
속성의 인덱스로 사용하면 해당 명명된 특정 캡처링 그룹의 값을 검색할 수 있습니다. 이 예에서 m.Groups["link"].Value
식은 "link"라는 캡처링 그룹의 값을 검색합니다.
위 내용은 .NET Regex에서 명명된 캡처 그룹에 어떻게 액세스합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!