[reg] G-and-Gm
목차

/g 와 /gm 의 차이점을 알아보자

/g와 /gm은 정규 표현식에서 사용되는 플래그(flag) 이 두 플래그는 문자열에서 패턴을 검색하거나 변환할 때 동작에 영향을 준다.

/g 와 /gm 의 차이점을 알아보자

2023년 9월 15일

/g와 /gm은 정규 표현식에서 사용되는 플래그(flag) 이 두 플래그는 문자열에서 패턴을 검색하거나 변환할 때 동작에 영향을 준다.

  • 주요 차이점
  1. /g 플래그

    • g 플래그는 "글로벌(global)" 검색을 나타냄
    • 문자열에서 패턴과 일치하는 모든 부분을 찾음
    • 첫 번째 일치하는 부분을 찾으면 검색을 중단하지 않고 계속 다음 일치하는 부분을 찾음.
  2. /gm 플래그

    • /gm 플래그는 "다중 라인(multiline)" 검색을 나타냄
    • 이 플래그를 사용하면 문자열 내에서 여러 줄에 걸쳐 패턴을 검색
    • 예를 들어, ^ 메타문자는 문자열의 시작 부분과 각 줄의 시작 부분에서 일치함
  • 간단한 예시
const text = `Line 1: Hello Line 2: World Line 3: Goodbye`; const pattern = /^Line \d+: (.+)$/gm; // 다중 라인(multiline) 검색과 함께 시작 부분(^)과 패턴 일치(.+) 설정 const matches = text.match(pattern); console.log(matches);
  • 위의 예제에서 /^Line \d+: (.+)$/gm 패턴은 여러 줄에 걸쳐 Line X:로 시작하는 줄을 찾아내며, gm 플래그를 사용하여 다중 라인 검색을 활성화함

결론, /g 플래그는 문자열에서 패턴과 일치하는 모든 부분을 찾을 때 사용 /gm 플래그는 다중 라인 텍스트에서 패턴을 찾을 때 사용