일부 정규식 엔진은 문자 클래스 내에서 멋진 작업을 허용합니다. 한 클래스에 속하지만 다른 클래스에는 속하지 않는 문자를 일치시킬 수 있습니다(빼기). 한 클래스와 다른 클래스에 모두 속하는 문자를 일치시키거나(교집합) 여러 클래스 중 하나에 속하는 문자를 일치시킵니다(결합).
Python의 re 모듈을 사용하면 AND 연산자 &&를 사용하여 문자 클래스 내에서 여러 클래스의 교차를 지정할 수 있습니다. […&&[…]]는 두 하위 클래스의 교차를 나타내는 문자 클래스를 지정합니다. 클래스와 일치하는 항목은 두 개의 하위 클래스에 속해야 합니다. 예를 들어, [\S&&[\D]]는 공백이 아닌 문자와 숫자가 아닌 하나의 문자를 지정합니다.
Python용 re 모듈의 문자 클래스 빼기
예를 들어, 클래스
[a-z--[aeiou]]는 영어 소문자 자음과 일치합니다.
또한 감산된 클래스에 범위가 포함되지 않은 경우 해당 대괄호는 선택 사항입니다. 따라서 위의 내용은 [a-z--aeiou]
Python용 re 모듈의 문자 클래스 유니온
Python용 re 모듈에서 여러 문자 클래스의 합집합을 만들기 위해 OR 연산자 ||를 사용합니다. 예를 들어, [0||[^\W\d]]는 0인 문자 또는 숫자가 아닌 단어 문자를 지정합니다.