Python 정규식에서 문자 집합 안의 캐럿 기호
아시다시피, [ ] 안의 캐럿 기호는
대괄호의 맨 앞에 위치할 경우 부정(negation)을
의미합니다. 즉, 이 기호는 대괄호 안에서 특수
문자 역할을 합니다. 캐럿 기호 자체를 문자로
사용하려면 이스케이프하거나 첫 번째 위치에서
옮겨야 합니다.
예시
다음 예시에서 검색 패턴은 다음과 같습니다:
첫 번째 문자는 'd'를 제외한 모든 문자,
그 뒤에 두 개의 'x' 문자:
txt = 'axx bxx ^xx dxx'
res = re.sub('[^d]xx', '!', txt)
print(res)
결과 변수에는 다음이 저장됩니다:
'! ! ! dxx'
예시
이번 검색 패턴은 다음과 같습니다: 첫 번째
문자는 'd' 또는 '^',
그 뒤에 두 개의 'x' 문자:
txt = 'axx bxx ^xx dxx'
res = re.sub('[d^]xx', '!', txt)
print(res)
결과 변수에는 다음이 저장됩니다:
'axx bxx ! !'
예시
캐럿 기호를 첫 번째 위치에서 옮기지 않고, 백슬래시로 이스케이프하여 문자 그 자체를 나타내도록 할 수도 있습니다:
txt = 'axx bxx ^xx dxx'
res = re.sub('[\^d]xx', '!', txt)
print(res)
결과 변수에는 다음이 저장됩니다:
'axx bxx ! !'
실습 문제
다음 문자열이 주어졌습니다:
txt = '^xx axx ^zz bkk @ss'
다음 패턴과 일치하는 문자열을 찾는 정규식을 작성하세요: 캐럿 기호 또는 골뱅이 기호, 그 뒤에 두 개의 라틴 문자.
다음 문자열이 주어졌습니다:
txt = '^xx axx ^zz bkk @ss'
다음 패턴과 일치하는 문자열을 찾는 정규식을 작성하세요: 캐럿 기호도 아니고 골뱅이 기호도 아니며, 그 뒤에 두 개의 라틴 문자.
다음 문자열이 주어졌습니다:
txt = '^xx axx ^zz bkk'
다음 패턴과 일치하는 문자열을 찾는 정규식을 작성하세요: 캐럿 기호도 아니고 공백도 아니며, 그 뒤에 두 개의 라틴 문자.