자바스크립트 정규식 내부 집합에서의 캐럿(^) 기호
아시다시피, [ ] 안에 있는 캐럿(^)은
대괄호 시작 부분에 위치할 때 부정(negation)을 의미합니다.
즉, 이 기호는 대괄호 내부에서 특수문자 역할을 합니다.
캐럿(^) 자체를 문자 그대로 사용하려면,
이스케이프하거나 첫 번째 위치에서 제거해야 합니다.
예시
다음 예시에서 검색 패턴은 다음과 같습니다:
첫 번째 문자는 'd'를 제외한 모든 문자,
그 뒤에 'x' 두 글자.
let str = 'axx bxx ^xx dxx';
let res = str.replace(/[^d]xx/g, '!');
결과적으로 변수에는 다음과 같은 문자열이 저장됩니다:
'! ! ! dxx'
예시
이번 검색 패턴은 다음과 같습니다: 첫 번째 문자는
'd' 또는 '^', 그 뒤에
'x' 두 글자:
let str = 'axx bxx ^xx dxx';
let res = str.replace(/[d^]xx/g, '!');
결과적으로 변수에는 다음과 같은 문자열이 저장됩니다:
'axx bxx ! !'
예시
캐럿(^)을 첫 번째 위치에서 제거하지 않고, 백슬래시로 이스케이프하여 문자 그대로 사용할 수도 있습니다:
let str = 'axx bxx ^xx dxx';
let res = str.replace(/[\^d]xx/g, '!');
결과적으로 변수에는 다음과 같은 문자열이 저장됩니다:
'axx bxx ! !'
실습 문제
다음 문자열이 주어집니다:
let str = '^xx axx ^zz bkk @ss';
다음 패턴에 맞는 문자열을 찾는 정규식을 작성하세요: 캐럿(^) 또는 골뱅이(@), 그 뒤에 영문자 두 글자.
다음 문자열이 주어집니다:
let str = '^xx axx ^zz bkk @ss';
다음 패턴에 맞는 문자열을 찾는 정규식을 작성하세요: 캐럿(^)이 아니고 골뱅이(@)도 아닌 문자, 그 뒤에 영문자 두 글자.
다음 문자열이 주어집니다:
let str = '^xx axx ^zz bkk';
다음 패턴에 맞는 문자열을 찾는 정규식을 작성하세요: 캐럿(^)이 아니고 공백도 아닌 문자, 그 뒤에 영문자 두 글자.