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

JavaScript 정규식 {2,3} 수량자로 2~3개의 연속된 'p'가 포함된 문자열 일치시키기


JavaScript 정규 표현식(RegExp)에서 특정 문자가 2개에서 3개까지 연속해서 나타나는 문자열을 찾으려면 {2,3} 수량자(Quantifier)를 사용하면 됩니다.

{2,3} 수량자란?

수량자는 바로 앞에 위치한 문자나 그룹이 반복되는 횟수를 지정하는 메타 문자입니다. 예를 들어 p{2,3}은 문자 'p'가 최소 2번, 최대 3번 연속으로 등장하는 모든 패턴과 일치합니다.

  • p{2} : 'p'가 정확히 2번 반복되는 경우
  • p{2} : 'p'가 2번 이상 반복되는 경우
  • p{2,3} : 'p'가 2번에서 3번 사이로 반복되는 경우

예제 코드

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

   <body>
      <script>
         var myStr = "app, apple, pp, ppp, happy";
         var reg = /p{2,3}/g;
         var match = myStr.match(reg);

         document.write(match);
      </script>
   </body>
</html>

실행 결과

pp,pp,pp,ppp,pp

정규식 뒤에 붙인 g 플래그는 전역 검색(global search)을 의미하며, 문자열 내에서 일치하는 모든 패턴을 한 번에 찾아 배열로 반환합니다.

숫자 패턴에도 동일하게 적용

같은 원리를 숫자에 적용하면 \d{2,3}으로 2~3자리 숫자를 손쉽게 추출할 수 있습니다. 예를 들어 "Welcome 1, 10, 100, 1000"이라는 문자열에 /\d{2,3}/g를 적용하면 10,100,100이 결과로 반환됩니다. 이처럼 {2,3} 수량자는 문자 종류에 관계없이 반복 횟수 범위를 지정하는 데 유용하게 활용됩니다.