JavaScript 입문 | 정규 표현식 | RegExp 객체
RegExp 객체
RegExp 객체는 정규 표현식을 구현한 자바스크립트 표준 내장 객체이다.
RegExp 객체를 생성하는 문법은 다음과 같다.
문법
new RegExp(검색패턴[, 플래그]);
- 검색 패턴을 나타내는 정규 표현식은 따옴표나 슬래시(/)로 감싸야 한다.
- 기본 검색 설정을 변경할 수 있는 플래그는 필요할 때만 전달할 수 있다.
RegExp.prototype 메소드
모든 RegExp 인스턴스는 RegExp.prototype으로부터 메소드와 프로퍼티를 상속받는다. 이렇게 상속받은 RegExp.prototype 메소드를 사용하여 정규 표현식을 표현할 수 있다.
- RegExp.prototype.exec()
- RegExp.prototype.test()
exec() 메소드
exec() 메소드는 인수로 전달된 문자열에서 특정 패턴을 검색하여, 패턴과 일치하는 문자열을 반환한다. 만약에 패턴과 일치하는 문자열이 없으면 null을 반환한다.
var targetStr = "abbcdefabgh";
var firstResult = /ab+/.exec(targetStr); // 패턴과 일치하는 문자열이 여러 개인 경우
var secondResult = /abbb+/.exec(targetStr); // 패턴과 일치하는 문자열이 하나도 없는 경우
firstResult; // abb -> 가장 맨 처음으로 일치하는 문자열이 반환됨.
secondResult; // null
test() 메소드
test() 메소드는 인수로 전달된 문자열에 특정 패턴과 일치하는 문자열이 있는지를 검색합니다
만약에 패턴과 일치하는 문자열이 있으면 true를, 없으면 false를 반환한다.
var targetStr = "abbcdefabgh";
var firstResult = /ab+/.test(targetStr); // 패턴과 일치하는 문자열이 여러 개인 경우
var secondResult = /abbb+/.test(targetStr); // 패턴과 일치하는 문자열이 하나도 없는 경우
firstResult; // true
secondResult; // false
자바스크립트 RegExp.prototype 메소드
메소드 | 설명 |
---|---|
exec() | 인수로 전달된 문자열에서 특정 패턴을 검색하여, 패턴과 일치하는 문자열을 반환함. |
test() | 인수로 전달된 문자열에 특정 패턴과 일치하는 문자열이 있는지를 검색하여, 그 결과를 불리언 값으로 반환함. |
toString() | RegExp 객체의 정규 표현식과 같은 의미를 가지는 정규 표현식 리터럴 문자열을 반환함. |
자바스크립트는 정규 표현식에서 사용하는 다양한 정보를 RegExp.prototype 프로퍼티를 이용해 제공하고 있다.
- RegExp.prototype.global
- RegExp.prototype.ignoreCase
- RegExp.prototype.multiline
- RegExp.prototype.source
자바스크립트 RegExp.prototype 프로퍼티
프로퍼티 | 설명 |
---|---|
global | 검색 패턴을 비교할 때 일치하는 모든 부분을 선택하도록 설정하는 플래그인 ‘g’를 가리킴. |
ignoreCase | 검색 패턴을 비교할 때 대소문자를 구분하지 않도록 설정하는 플래그인 ‘i’를 가리킴. |
multiline | 검색 패턴을 비교할 때 여러 줄의 입력 문자열을 그 상태 그대로 여러 줄로 비교하도록 설정하는 플래그인 ’m’을 가리킴. |
source | 검색 패턴이 포함하고 있는 문자열을 가리킴. |
최종 수정 : 2021-08-27