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

자바스크립트 정규 표현식으로 0개 이상의 p를 포함하는 모든 문자열 매칭하기

자바스크립트 정규 표현식(RegExp)에서 p* 수량자(Quantifier)를 사용하면, 문자 'p'를 0번 이상 포함하는 모든 문자열과 매칭할 수 있습니다.

수량자(Quantifier)란?

수량자는 앞에 위치한 문자나 그룹이 몇 번 반복되어야 하는지를 지정하는 특수 기호입니다. 별표(*)는 해당 문자가 0번 이상, 즉 없어도 되고 여러 번 반복되어도 된다는 의미입니다. 따라서 /p*/ 패턴은 'p'가 하나도 없는 문자열부터 'pppp'처럼 연속으로 반복되는 문자열까지 모두 일치시킬 수 있습니다.

예제

아래 코드를 실행하면 0개 이상의 'e' 앞에 오는 패턴을 전역(g) 플래그로 검색하여 결과를 확인할 수 있습니다. 여기서 *는 해당 문자의 등장 횟수를 의미합니다.

<html>
   <head>
      <title>JavaScript Regular Expression</title>
   </head>
   <body>
      <script>
         var myStr = "Welcome! Wweeeelcome to our website!";
         var reg = /el*/g;
         var match = myStr.match(reg);

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

실행 결과 해설

위 예제에서 /el*/g 패턴은 문자 'e' 뒤에 'l'이 0번 이상 등장하는 부분을 찾습니다. 따라서 "Welcome"에서는 e, elc와 같은 형태로 매칭되며, "Wweeeelcome"에서는 연속된 'e'들과 조합된 다양한 결과가 반환됩니다.

핵심 정리

  • *: 바로 앞의 문자가 0번 이상 반복됨을 의미합니다.
  • +: 바로 앞의 문자가 1번 이상 반복되어야 합니다.
  • ? : 바로 앞의 문자가 0번 또는 1번만 등장할 수 있습니다.

이처럼 수량자를 적절히 활용하면 반복 패턴이 포함된 문자열을 유연하게 검색하고 처리할 수 있습니다.