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

자바스크립트 정규 표현식 '? 수량자'로 0개 또는 1개의 p를 포함하는 문자열 일치시키기

자바스크립트(JavaScript) 정규 표현식에서 특정 문자가 0번 또는 1번 나타나는 문자열을 찾고 싶다면 p? 형태의 ? 수량자(quantifier)를 사용하면 됩니다. 물음표(?)는 바로 앞의 문자가 선택 사항(optional)임을 의미하므로, 해당 문자가 없어도 일치하고 하나만 있어도 일치합니다.

예제

아래 코드를 실행하면 0개 또는 1개의 대상 문자를 포함하는 부분 문자열을 모두 찾을 수 있습니다. 이 예제에서는 숫자 패턴 /10?/g를 사용하여 '1' 뒤에 '0'이 없거나 하나만 오는 경우를 매칭합니다.

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

   <body>
      <script>
         var myStr = "Welcome 1, 100, 10000, 10000";
         var reg = /10?/g;
         var match = myStr.match(reg);

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

실행 결과

1,10,10,10

? 수량자는 앞의 문자가 반드시 존재할 필요가 없음을 뜻합니다. 따라서 10? 패턴은 '1' 단독으로도 일치하고 '10'에도 일치하지만, '100'처럼 '0'이 두 개 이상 연속될 경우에는 앞의 두 글자('10')까지만 일치하고 나머지는 무시됩니다. 이 원리를 응용하면 p?를 사용해 'p'가 없거나 최대 하나만 포함된 모든 문자열을 손쉽게 매칭할 수 있습니다.