정규 표현식에서 문자 세트 반전하기
대괄호 시작 부분의 캐럿 '^'를 사용하여 원하는 것을 반전시킬 수 있습니다. 즉,
예를 들어 패턴 [ab]가 문자 'a' 또는 'b'를 찾는다면,
패턴 [^ab]는 'a'와 'b'를 제외한 모든 문자를 찾습니다.
예시
이 예시에서 검색 패턴은 다음과 같습니다:
문자 'x', 그 다음 문자 'a'가 아니고,
'b'도 아니며, 'c'도 아닌 문자, 그 다음 문자 'z':
let str = 'xaz xbz xcz xez';
let res = str.replace(/x[^abc]z/g, '!');
결과적으로 변수에는 다음이 저장됩니다:
'xax xbx xcx !'
예시
이 예시에서 검색 패턴은 다음과 같습니다:
문자 'x', 그 다음 소문자 라틴 문자가 아닌 문자,
그 다음 문자 'z':
let str = 'xaz xbz x1z xCz';
let res = str.replace(/x[^a-z]z/g, '!');
결과적으로 변수에는 다음이 저장됩니다:
'xaz xbz ! !'
실습 문제
다음 패턴에 맞는 문자열을 찾는 정규 표현식을 작성하세요:
숫자 '1', 그 다음 문자 'e'도 아니고
'x'도 아닌 문자, 숫자 '2'.
다음 패턴에 맞는 문자열을 찾는 정규 표현식을 작성하세요:
문자 'x', 그 다음 2부터 7까지의 숫자가 아닌 문자,
문자 'z'.
다음 패턴에 맞는 문자열을 찾는 정규 표현식을 작성하세요:
문자 'x', 그 다음 대문자 라틴 문자가 1번 이상 반복되지 않는 문자열,
문자 'z'.
다음 패턴에 맞는 문자열을 찾는 정규 표현식을 작성하세요:
문자 'x', 그 다음 대문자 또는 소문자 라틴 문자가 아니고 1부터 5까지의 숫자도 아닌 문자가
1번 이상 반복되는 문자열, 문자 'z'.