.NET의 RegEx에서 Group과 Match의 차이점은 무엇입니까?.NET의 RegEx에서 그룹과 일치하는 부분의 차이점은 무엇입니까?
답변
Match은 대상 텍스트와 일치하는 특정 정규 표현식을 나타내는 개체입니다. Group은 원래 정규 표현식에 그룹 마커 (기본적으로 괄호 안의 패턴)가 포함되어있는 경우 일치 항목의 일부를 나타냅니다. 예를 들어, 다음 코드 :
string text = "One car red car blue car";
string pat = @"(\w+)\s+(car)";
Match m = r.Match(text);
m
두 그룹이 포함되어 일치하는 객체가 될 것입니다 - 잘 일치 (\w+)
에서 그룹 1을, 그 포착 "하나", 그리고 ((car)
에서) 2 군, "차".
일치는 정규식과 일치하는 문자열의 일부이므로 문자열 내에 여러 일치가있을 수 있습니다.
일치하는 부분을 익명 또는 명명 된 그룹으로 정의하면 일치를 쉽게 분할 할 수 있습니다. 간단한 예제는 URL을 검색하기위한 정규 표현식을 작성한 다음 내부의 그룹을 사용하여 프로토콜 (http), 도메인 (www.web.com), 경로 (/lol/cats.html) 및 인수 및 그 밖의 것을 찾을 수 있습니다. 내가 말한대로 Regex.Matches (문자열 텍스트)를 사용하는 경우 여러 경기를 다시 얻을 수 있도록
// Example I made up on the spot, probably doesn't work very well
"(?<protocol>\w+)://(?<domain>[^/]+)(?<path>/[^?])"
하나의 패턴은 각각 0 개, 1 개 이상의 그룹으로 구성, 문자열 내부에 여러 번 찾을 수 있습니다 .
이러한 명명 된 그룹은 숫자로 색인화하거나 문자열로 찾을 수 있습니다. 이상과 같이 사용할 수있는 예 :
Match match = pattern.Match(urls);
if (!match.Success)
continue;
string protocol = match.Groups["protocol"].Value;
string domain = match.Groups[1].Value;
이 일을 더 재미있게 만들어하려면, 한 그룹은 여러 번 일치 할 수 있지만, 그때는 documentation을 읽기 시작하는 것이 좋습니다.
그룹을 사용하여 역 참조를 생성하고 부분 검색 및 바꾸기를 수행 할 수도 있지만 MSDN에서 그 이상의 내용을 읽을 수 있습니다.
- 1. .net의 세계화와 현지화의 차이점은 무엇입니까?
- 2. 일치하는 부분을 기억하지 못하면 regex에서 괄호를 사용하는 것이 무엇입니까?
- 3. .NET의 개념 도움말과 API 도움말의 차이점은 무엇입니까?
- 4. .NET의 System.Collections, System.Collections.Specialized 및 System.Collections.Generic의 차이점은 무엇입니까?
- 5. 어떻게 PHP에서 동일한 regex에서 일치하는 것을 사용할 수 있습니까?
- 6. Regex에서 도움이 필요하십니까 C#
- 7. 표현식을 구성하는 부분의 이름은 무엇입니까?
- 8. VB6 컨트롤 배열과 가장 간단한 .NET의 차이점은 무엇입니까?
- 9. PHP regex에서 일치 항목 추출
- 10. javascript RegEx에서 d 플래그의 의미는 무엇입니까?
- 11. PHP의 regex에서 [\ S \ s] *의 의미는 무엇입니까?
- 12. JS regex에서 한 행 일치
- 13. 의 LINQ NHibernate에 그룹과
- 14. 스프링 보안 그룹과 acl
- 15. HTML을 열 그룹과 제목
- 16. 그룹과 별도의 아약스 요청
- 17. 그룹과 mysql 내부 조인
- 18. 목록 그룹과 하위 그룹
- 19. Regex에서 음수를 허용하지 않음
- 20. Regex에서 나누기 및 추가
- 21. AS3 RegEx에서 null을 반환합니다.
- 22. 그룹과 작업 할 때 Regex.Split은 어떻게 작동합니까?
- 23. 찾기와 관계가있는 부분의 차이
- 24. 레일 부분의 모범 사례
- 25. .net의 IGrouping 컬렉션은 무엇입니까?
- 26. .Net의 애플릿 대체품은 무엇입니까
- 27. Regex에서 내가 뭘 잘못하고 있니?
- 28. RegEx에서 어떤 문자를 허용 하시겠습니까?
- 29. JS regex에서 타입 캐스트를 제거합니다.
- 30. Regex에서 찾을 수없는 오류가 발생했습니다