Computer >> 컴퓨터 >  >> 프로그래밍 >> JavaScript

JavaScript 정규 표현식으로 주어진 문자 집합 외의 단일 문자 매칭하기

JavaScript의 정규 표현식(RegExp)에서 주어진 문자 집합에 포함되지 않은 임의의 단일 문자를 매칭하려면 [^aeiou]와 같은 부정 문자 클래스(negated character class) 메타문자를 사용합니다.

부정 문자 클래스란?

대괄호 [] 안에서 맨 앞에 캐럿(^) 기호를 붙이면, 해당 집합에 속하지 않는 모든 문자와 일치시킬 수 있습니다. 예를 들어 [^aeiou]는 모음(a, e, i, o, u)을 제외한 모든 단일 문자를 찾습니다.

예제 코드

아래 예제에서는 문자열 "Welcome!"에서 [^lc] 패턴을 사용하여 'l'과 'c'를 제외한 나머지 문자들을 추출합니다.

<html>
   <head>
      <title>JavaScript Regular Expression</title>
   </head>

   <body>
      <script>
         var myStr = "Welcome!";
         var reg = /[^lc]/g;
         var match = myStr.match(reg);
         
         document.write(match);
     </script>
   </body>
</html>

실행 결과

위 코드를 실행하면 'l'과 'c'가 아닌 문자들만 배열로 반환됩니다. 플래그 g(global)가 지정되어 있으므로 문자열 전체에서 일치하는 모든 문자를 한 번에 찾아냅니다.

핵심 정리

  • [abc]: a, b, c 중 하나와 일치
  • [^abc]: a, b, c를 제외한 임의의 단일 문자와 일치
  • /g 플래그: 문자열 전체에서 반복 검색 수행