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

중첩 문자 클래스 빼기는 Python에서 어떻게 작동합니까?

<시간/> <본문>

중첩 문자 클래스 빼기

뺀 문자 클래스 내에서 전체 문자 클래스 구문을 사용할 수 있으므로 뺄 클래스에서 클래스를 뺄 수 있습니다. [0-9-[0-7-[0-3]]] 먼저 0-7에서 0-3을 빼서 [0-9-[4-7]] 또는 [0-38-9]를 생성합니다. 문자열 012389의 모든 문자와 일치합니다.

클래스 빼기는 항상 문자 클래스의 마지막 요소입니다. [0-9-[4-7]a-d]는 유효한 정규식이 아닙니다. [0-9a-d-[4-7]]로 다시 작성해야 합니다. 빼기는 전체 클래스에서 작동합니다.

중첩된 문자 클래스 뺄셈을 사용할 수는 있지만 두 클래스를 순차적으로 뺄 수는 없습니다. 모든 유니코드 문자가 있는 클래스에서 ASCII 문자와 아랍어 문자를 빼려면 [\p{L}-[\p{IsBasicLatin}\p{IsArabic}]에서와 같이 ASCII 및 아랍어 문자를 하나의 클래스로 결합하고 빼십시오. ].