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

JavaScript 정규 표현식(RegExp)이란? 개념부터 생성 방법까지

정규 표현식(Regular Expression)의 기본 개념

정규 표현식(Regular Expression, 줄여서 Regex)은 문자열에서 특정한 문자 패턴을 설명하는 객체입니다. JavaScript에서는 RegExp 클래스가 정규 표현식을 나타내며, String 객체와 RegExp 객체 모두 정규 표현식을 활용해 강력한 패턴 매칭(pattern-matching)검색 및 치환(search-and-replace) 기능을 수행할 수 있는 메서드를 제공합니다.

예를 들어, 이메일 주소 형식 검증, 특정 단어 포함 여부 확인, 문자열 일괄 치환 등 복잡한 텍스트 처리 작업을 몇 줄의 코드로 간단하게 구현할 수 있습니다.

정규 표현식 객체 생성 방법

JavaScript에서 정규 표현식은 RegExp() 생성자를 사용하거나, 리터럴 표기법을 사용하여 다음과 같이 정의할 수 있습니다.

// RegExp 생성자 사용
var pattern = new RegExp(pattern, attributes);

// 리터럴 표기법 사용
var pattern = /pattern/attributes;

주요 매개변수 설명

  • pattern(패턴) — 정규 표현식의 패턴을 지정하는 문자열 또는 다른 정규 표현식 객체입니다. 찾고자 하는 문자 조합을 이곳에 정의합니다.
  • attributes(속성) — 선택 사항으로, 매칭 동작을 제어하는 플래그 문자열입니다. 사용 가능한 속성은 다음과 같습니다.
    • g: 전역(global) 매칭 — 패턴과 일치하는 모든 문자열을 대상으로 검색합니다.
    • i: 대소문자 구분 없음(case-insensitive) — 영문 대소문자를 구분하지 않고 매칭합니다.
    • m: 다중 행(multiline) 매칭 — 여러 줄로 된 문자열에서 각 줄의 시작(^)과 끝($)을 인식합니다.

간단한 사용 예시

// 'hello'라는 단어를 대소문자 구분 없이 전역 검색
var pattern1 = new RegExp("hello", "gi");
var pattern2 = /hello/gi;

var text = "Hello world, hello JavaScript!";
console.log(text.match(pattern1)); // ["Hello", "hello"]

정규 표현식은 처음에는 문법이 낯설게 느껴질 수 있지만, 익숙해지면 문자열 처리 작업의 생산성을 크게 높여주는 필수 도구입니다.