정규식을 정의할 수 있는 다양한 범주의 문자, 연산자 및 구문이 있습니다.
그 중 하나는 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" |