RegExp
Baseline
Widely available
*
This feature is well established and works across many devices and browser versions. It’s been available across browsers since 2015년 7월.
* Some parts of this feature may have varying levels of support.
RegExp 생성자는 패턴을 사용해 텍스트를 판별할 때 사용합니다.
정규 표현식에 대한 소개는 JavaScript 안내서의 정규 표현식 장을 참고하세요. 정규 표현식 구문에 대한 더 자세한 정보는 정규 표현식 참고서를 참고하시기 바랍니다.
설명
>리터럴 표기법과 생성자
RegExp 객체는 리터럴 표기법과 생성자로써 생성할 수 있습니다.
- 리터럴 표기법은 두 빗금 사이에 패턴을 사용하며, 두 번째 빗금 뒤에 선택적으로 플래그가 올 수 있습니다.
- 생성자 함수은 첫 번째 매개변수로 문자열이나
RegExp객체 중 하나를 받고 두 번째 매개변수로 선택적 플래그 문자열을 받습니다.
다음의 세 표현식은 모두 같은 정규 표현식을 생성합니다.
const re = /ab+c/i; // 리터럴 표기법
// 혹은
const re = new RegExp("ab+c", "i"); // 첫 번째 인수로 문자열 패턴과 함께 생성자 사용
// 혹은
const re = new RegExp(/ab+c/, "i"); // 첫 번째 인수로 정규 표현식 리터럴과 함께 생성자 사용
정규 표현식을 사용하려면 먼저 정규 표현식을 컴파일해야 합니다. 이 과정을 통해 보다 효율적으로 매칭을 수행할 수 있습니다. 이 프로세스에 대한 보다 자세한 내용은 dotnet 문서에서 확인할 수 있습니다.
리터럴 표기법은 표현식이 평가될 때 정규 표현식이 컴파일됩니다. 반면에 RegExp 객체의 생성자 new RegExp('ab+c')는 정규 표현식을 런타임에 컴파일합니다.
동적 입력에서 정규식을 빌드하려면 RegExp() 생성자의 첫 번째 인수로 문자열을 사용합니다.
생성자의 플래그
표현식 new RegExp(/ab+c/, flags)은 첫 번째 매개변수의 소스와 두 번째 매개변수의 플래그를 사용하여 새로운 RegExp를 생성합니다.
생성자 함수를 사용할 경우, 일반 문자열 이스케이프 규칙(문자열에 포함될 때 특수 문자 앞에 \ 추가)이 필요합니다.
예를 들어 다음 두 줄은 동일한 정규 표현식을 생성합니다.
const re = /\w+/;
// 혹은
const re = new RegExp("\\w+");
Perl 형태의 RegExp 속성
일부 RegExp 속성은 같은 값에 대해 긴 이름과 짧은 (Perl 형태의) 이름 모두 가지고 있습니다. (Perl은 JavaScript가 정규 표현식을 만들 때 참고한 프로그래밍 언어입니다.) 사용하지 않는 RegExp 속성을 참고하세요.
생성자
RegExp()-
새로운
RegExp객체를 생성합니다.
정적 속성
get RegExp[@@species]-
파생 객체를 생성할 때 사용하는 생성자입니다.
RegExp.lastIndex-
다음 판별을 시작할 인덱스입니다.