System.Text.RegularExpressions.Group에 Name 속성이없는 이유는 무엇입니까? C#을의 정규 표현식에서
는(?<One>abc)
그러나, 클래스 System.Text.RegularExpressions.Group에서에 대한 특성이없는, 우리는 정규 표현식을 작성할 수 있습니다 예를 들어, 그룹에 이름을 할당 그룹 이름. 우리가 이름을 얻을 수있는 유일한 방법은
그들이 이름을 그룹 클래스에 속성을 넣을 수없는 이유System.Text.RegularExpressions.GetGroupNames()
입니까? 의도적으로 그렇게하지 않는 특별한 이유가 있습니까?
편집 : 나는 다음과 같은 기능을 사용하려고 할 때 내가이 질문에 건너 온 :
Regex.Replace(string input,
string pattern,
MatchEvaluator evaluator
)
내가 여러 개의 서로 다른 정규 표현식을 기반으로 대체 처리하기 위해 그냥 같은 하나의 평가자를 사용하고 싶습니다. 그룹에 대한 이름 속성이있는 경우 평가자 내에서 이름을 보면 정규 표현식을 알 수 있습니다. 그러나 그러한 자산은 없습니다.
결국 나는 클로저를 사용하고 GetGroupNames를 사용했지만 여전히 name 속성이 있어야한다고 생각합니다. 그룹에 이름이없는 경우 속성은 null 일 수 있습니다.
질문이 명확하지 않습니다. 그것은 당신이 일하고자하는 종류의 코드에 대한 코드 예제를 게시 한 경우 질문을 명확히하는 데 도움이됩니다. –
정규식을 만든 경우 그룹 이름이 무엇인지 알 수 없습니까? –
디자인 팀의 누군가가 이것을 보지 않는다면 우리가 할 수있는 것은 추측입니다. 내 생각 엔 개발 및 테스트 시간을 보증 할만큼 중요하지 않다고 생각합니다. – tvanfosson