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

JavaScript RegExp로 대체 텍스트를 찾는 방법

정규식에서 대체(alternation) 패턴이란?

JavaScript 정규식(RegExp)에서 지정된 여러 단어 중 하나라도 일치시키고 싶을 때는 파이프(|) 기호를 사용한 그룹 패턴을 활용합니다. 이 기법을 '교차(alternation)'라고 부르며, OR 조건처럼 동작합니다.

기본 패턴은 다음과 같습니다.

(foo|bar|baz)

위 패턴은 문자열에서 "foo", "bar", "baz" 중 어느 하나와 일치하는 부분을 모두 찾아냅니다. 괄호()는 그룹을 만들어 패턴의 범위를 명확히 하고, 파이프(|)는 각 대체 항목을 구분하는 역할을 합니다.

예제 코드

아래 예제는 문장에서 "one", "two", "three" 중 하나에 해당하는 단어를 전부 찾아 출력합니다. 플래그 g(global)를 함께 사용하면 첫 번째 일치 항목뿐 아니라 문자열 내의 모든 일치 항목을 반환받을 수 있습니다.

<html>
   <head>
      <title>JavaScript Regular Expression</title>
   </head>
   <body>
      <script>
         var myStr = "one,one,one, two, three, four, four";
         var reg = /(one|two|three)/g;
         var match = myStr.match(reg);

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

실행 결과

위 코드를 실행하면 다음과 같은 결과가 출력됩니다.

one,one,one,two,three

핵심 정리

  • 파이프(|) 기호를 사용하면 여러 대체 텍스트 중 하나와 일치시킬 수 있습니다.
  • 괄호(())로 감싸면 그룹화되어 패턴의 적용 범위가 명확해집니다.
  • g 플래그를 추가하면 문자열 전체에서 일치하는 모든 항목을 찾을 수 있습니다.