정규식에서 문자 집합 반전

대괄호 시작 부분의 캐럿 '^'을 사용하여 원하는 것을 반전시킬 수 있습니다. 예를 들어, 패턴 [ab]가 문자 'a' 또는 'b'를 찾는다면, 패턴 [^ab]는 'a'와 'b'를 제외한 모든 문자를 찾습니다.

예제

이 예제에서 검색 패턴은 다음과 같습니다: 문자 'x', 그다음 문자 'a'가 아니고, 'b'도 아니며, 'c'도 아닌 문자, 그다음 문자 'z':

pythontxt = 'xaz xbz xcz xez'
res = re.sub('x[^abc]z', '!', txt)

print(res)

코드 실행 결과:

python'xax xbx xcx !'

예제

이 예제에서 검색 패턴은 다음과 같습니다: 문자 'x', 그다음 소문자 라틴 문자가 아닌 문자, 그다음 문자 'z':

pythontxt = 'xaz xbz x1z xCz'
res = re.sub('x[^a-z]z', '!', txt)

print(res)

코드 실행 결과:

python'xaz xbz ! !'

실습 문제

Задание 1

다음 패턴에 해당하는 문자열을 찾는 정규식을 작성하세요: 숫자 1, 그다음 'e'도 'x'도 아닌 문자, 숫자 2.

Задание 2

다음 패턴에 해당하는 문자열을 찾는 정규식을 작성하세요: 문자 'x', 그다음 2부터 7 사이의 숫자가 아닌 문자, 문자 'z'.

Задание 3

다음 패턴에 해당하는 문자열을 찾는 정규식을 작성하세요: 문자 'x', 그다음 대문자 라틴 문자가 1회 이상 반복되지 않는 문자, 문자 'z'.

Задание 4

다음 패턴에 해당하는 문자열을 찾는 정규식을 작성하세요: 문자 'x', 그다음 대문자 또는 소문자 라틴 문자가 아니고 1부터 5 사이의 숫자도 아닌 문자가 1회 이상 반복, 문자 'z'.