Computer >> 컴퓨터 >  >> 프로그램 작성 >> Python

Python 정규식에서 "?:"는 무엇을 의미합니까?

<시간/>

비캡처 그룹

그룹이 일치 항목을 캡처하지 않도록 하려면 이 정규식을 Set(?:Value)로 작성할 수 있습니다. 여는 괄호 뒤의 물음표와 콜론은 비캡처 그룹을 생성하는 구문입니다.

정규식 집합(값)? Set 또는 SetValue와 일치합니다. 첫 번째 경우에는 첫 번째(유일한) 캡처 그룹이 비어 있습니다. 두 번째 경우에는 첫 번째 캡처링 그룹이 Value와 일치합니다. 끝에 나타나는 물음표는 이전 토큰을 선택 사항으로 만드는 수량자입니다.

Set(?:Value)는 Setxxxxx와 일치합니다. 즉, Set으로 시작하지만 뒤에 Value가 오지 않는 모든 문자열입니다. 이러한 그룹은 캡처되지 않는 그룹입니다.

color=(?:red|green|blue)는 비 캡처 그룹이 있는 또 다른 정규식입니다. 이 정규식에는 수량자가 없습니다.

명명된 캡처를 지원하는 정규식 버전에는 명명되지 않은 모든 그룹을 캡처하지 않는 그룹으로 바꾸는 옵션이 있는 경우가 많습니다.