Computer >> 컴퓨터 >  >> 프로그램 작성 >> C#

정규식에서 C# 그룹화 구문 설명

<시간/>

정규식을 정의할 수 있는 다양한 범주의 문자, 연산자 및 구문이 있습니다.

그 중 하나는 Grouping Constructs입니다. 그룹화 구문은 정규 표현식의 하위 표현식을 설명하고 입력 문자열의 하위 문자열을 캡처합니다. 다음 표는 그룹화 구성을 나열합니다.

그룹화 구성 설명 패턴 일치
( 하위 표현식 ) 일치하는 하위 표현식을 캡처하고 0부터 시작하는 서수를 할당합니다. (\w)\1 "깊은"에서 "ee"
(?<이름>하위 표현식) 일치하는 하위 표현식을 명명된 그룹으로 캡처합니다. (?<더블>\w)\k<더블> "깊은"에서 "ee"
(?하위 표현식) 균형 그룹 정의를 정의합니다. (((?'열기'\()[^\(\)]*)+((?'닫기-열기'\))[^\(\)]*)+)*(?(열기 )(?!))$ "((1-3)*(3-1))" in "3+2^((1-3)*(3-1))"
(?:하위 표현식) 비캡처 그룹을 정의합니다. 쓰기(?:줄)? "Console.WriteLine()"의 "WriteLine"
(?imnsx-imnsx:하위 표현식) 하위 표현식 내에서 지정된 옵션을 적용하거나 비활성화합니다. A\d{2}(?i:\w+)\b "A12xl A12XL a12xl"의 "A12xl", "A12XL"
(?=하위 표현식) 폭이 0인 긍정적인 예측 어설션. \w+(?=\.) "그는 있다. 개가 달렸다. 태양이 떴다."의 "is", "run" 및 "out"입니다.
(?! 하위 표현) 폭이 0인 부정적인 예측 어설션. \b(?!un)\w+\b "확실한", "사용된" "확실하지 않은 단위 사용"
(?<=하위 표현식) 폭이 0인 긍정적인 lookbehind 주장입니다. (?<=19)\d{2}\b "1851 1999 1950 1905 2003"의 "51", "03"
(? 폭이 0인 부정적인 lookbehind 주장입니다. (? "ends", "end"의 "end는 지속 대출자를 보냅니다"
(?> 하위 표현식) 비역추적(또는 "탐욕스러운") 하위 표현. [13579](?>A+B+) "1ABB 3ABBC 5AB 5AC"의 "1ABB", "3ABB" 및 "5AB"