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

문자열 변수로 JavaScript 정규식(RegExp)을 만드는 방법

문자열 변수로 JavaScript 정규식 만들기

네, 가능합니다. JavaScript에서는 new RegExp(pattern, flags) 생성자를 사용하면 문자열 변수를 기반으로 동적으로 정규식을 만들 수 있습니다.

일반적으로 정규식은 슬래시 표기법(/pattern/flags)으로 작성하지만, 이 방식은 패턴이 코드 작성 시점에 고정되어야 한다는 한계가 있습니다. 반면 RegExp 생성자는 패턴과 플래그를 문자열로 전달받기 때문에, 사용자 입력이나 API 응답처럼 런타임에 결정되는 값으로도 정규식을 자유롭게 조합할 수 있습니다.

기본 문법

new RegExp(pattern, flags)
  • pattern: 정규식 패턴을 담고 있는 문자열
  • flags: 검색 옵션 (예: i는 대소문자 구분 없음, g는 전역 검색)

예제 코드

다음 예제에서는 문자열 변수로 만든 정규식을 사용해 HelloWorld에서 hello를 대소문자 구분 없이 찾아 제거합니다.

<!DOCTYPE html>
<html>
   <body>
      <script>
         var str = 'HelloWorld'.replace( new RegExp('hello', 'i'), '' );
         document.write(str);
      </script>
   </body>
</html>

실행 결과

World

i 플래그 덕분에 원본 문자열의 Hello와 패턴 hello의 대소문자가 달라도 정상적으로 매칭되어 제거됩니다. 그 결과 화면에는 World만 출력됩니다.

이처럼 RegExp 생성자를 활용하면 실행 중에 동적으로 결정되는 값을 정규식 패턴에 포함시킬 수 있어, 검색 필터나 유효성 검사 등 유연한 문자열 처리에 매우 유용합니다.