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

JavaScript 정규식(RegExp)으로 여러 줄 일치 처리하는 방법

JavaScript 정규 표현식에서 여러 줄(multiline) 일치를 수행하려면 m 수정자(modifier)를 사용하면 됩니다.

기본적으로 앵커 문자인 ^(문자열 시작)와 $(문자열 끝)는 전체 문자열을 기준으로 동작합니다. 하지만 m 플래그를 추가하면 각 줄의 시작과 끝을 개별적으로 인식하기 때문에, 줄바꿈(\n)이 포함된 문자열에서도 각 라인 단위로 패턴을 검사할 수 있습니다.

예제

아래 코드는 m 플래그를 사용해 여러 줄 일치를 수행하는 예시입니다.

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

   <body>
      <script>
         var myStr = "Welcom\ning!";
         var reg = /^ing/m;
         var match = myStr.match(reg);
         
         document.write(match);
      </script>
   </body>
</html>

코드 설명

  • 문자열 myStr에는 줄바꿈 문자(\n)가 포함되어 있어 "ing!"가 두 번째 줄에 위치합니다.
  • 정규식 /^ing/mm 플래그 덕분에 두 번째 줄의 시작 부분에서 "ing"를 찾아냅니다.
  • m 플래그가 없었다면 ^는 전체 문자열의 시작만 검사하므로 일치 결과를 찾지 못하고 null을 반환하게 됩니다.

실행 결과는 다음과 같습니다.

ing

이처럼 m 수정자는 로그 파일 파싱, 여러 줄 텍스트 검증 등 줄 단위 처리가 필요한 상황에서 매우 유용하게 활용됩니다.