정규식 수정자(Modifiers)란?
JavaScript에서 정규식(Regular Expression)을 더 쉽고 유연하게 다루려면 수정자(Modifiers)를 활용하면 됩니다. 수정자를 사용하면 여러 줄에 걸친 검색, 대소문자를 구분하지 않는 검색 등 복잡한 조건의 검색 작업도 간단한 코드로 처리할 수 있습니다.
JavaScript의 주요 수정자
JavaScript에서 자주 사용되는 대표적인 수정자는 다음과 같습니다.
| 번호 | 수정자 및 설명 |
|---|---|
| 1 | i 대소문자를 구분하지 않는(case-insensitive) 매칭을 수행합니다. |
| 2 | m 문자열에 개행(newline) 또는 캐리지 리턴(carriage return) 문자가 포함된 경우, ^ 와 $ 연산자가 문자열 전체의 시작·끝이 아니라 각 줄의 경계를 기준으로 매칭되도록 지정합니다. |
| 3 | g 전역(global) 매칭을 수행합니다. 첫 번째 일치 항목에서 검색을 멈추지 않고 문자열 내 모든 일치 항목을 찾아냅니다. |
활용 예제
여러 수정자를 함께 조합하면 더욱 강력한 검색이 가능합니다. 예를 들어, 대소문자 구분 없이 문장 전체에서 특정 단어를 모두 찾으려면 i와 g를 동시에 사용하면 됩니다.
const str = "Hello world, hello JavaScript, HELLO Regex";
const result = str.match(/hello/gi);
console.log(result);
// ["Hello", "hello", "HELLO"]위 예제처럼 g 수정자 덕분에 세 개의 "hello"가 모두 검색되었으며, i 수정자 덕분에 대소문자와 관계없이 일치 항목을 찾을 수 있었습니다.
정리
수정자만 잘 활용해도 반복 코드 없이 정규식을 훨씬 간결하고 효율적으로 사용할 수 있습니다. 상황에 맞게 i, m, g 수정자를 적절히 조합해 보세요.