일반 표현식 인스턴스 만들기

Flash Player 9 이상, Adobe AIR 1.0 이상

두 가지 방법을 사용하여 일반 표현식 인스턴스를 만들 수 있는데, 첫 번째 방법은 슬래시 문자(/)를 사용하여 일반 표현식을 나타내고 다른 방법은 new 생성자를 사용합니다. 예를 들어, 다음 일반 표현식은 동일합니다.

var pattern1:RegExp = /bob/i; 
var pattern2:RegExp = new RegExp("bob", "i");

슬래시는 따옴표를 사용하여 문자열 리터럴을 나타내는 것과 같은 방식으로 일반 표현식 리터럴을 나타냅니다. 슬래시 내의 일반 표현식 부분은 패턴을 정의합니다. 또한 일반 표현식에서 마지막 슬래시 뒤에 플래그를 포함할 수도 있습니다. 이러한 플래그는 일반 표현식의 일부로 간주되지만 패턴과 별개입니다.

new 생성자를 사용할 때는 두 문자열을 사용하여 일반 표현식을 정의하는데, 다음 예제와 같이 첫 번째 문자열은 패턴을 정의하고 두 번째 문자열은 플래그를 정의합니다.

var pattern2:RegExp = new RegExp("bob", "i");

슬래시 기호를 사용하여 정의된 일반 표현식 내에 다시 슬래시를 포함하는 경우에는 슬래시 앞에 백슬래시(\) 이스케이프 문자를 추가해야 합니다. 예를 들어, 다음 일반 표현식은 1/2 패턴과 일치하는 문자열을 찾습니다.

var pattern:RegExp = /1\/2/;

new 생성자를 사용하여 정의된 일반 표현식 내에 따옴표를 포함하려면 문자열 리터럴을 정의할 때처럼 따옴표 앞에 백슬래시(\) 이스케이프 문자를 추가해야 합니다. 예를 들어, 다음 일반 표현식은 eat at "joe's" 패턴과 일치하는 문자열을 찾습니다.

var pattern1:RegExp = new RegExp("eat at \"joe's\"", ""); 
var pattern2:RegExp = new RegExp('eat at "joe\'s"', "");

슬래시 기호를 사용하여 정의된 일반 표현식에서 백슬래시 이스케이프 문자를 따옴표와 함께 사용하면 안 됩니다. 마찬가지로 new 생성자를 사용하여 정의된 일반 표현식에서 이스케이프 문자를 슬래시와 함께 사용하면 안 됩니다. 다음 일반 표현식은 동일하며 1/2 "joe's" 패턴을 정의합니다.

var pattern1:RegExp = /1\/2 "joe's"/; 
var pattern2:RegExp = new RegExp("1/2 \"joe's\"", ""); 
var pattern3:RegExp = new RegExp('1/2 "joe\'s"', '');

또한 new 생성자를 사용하여 정의된 일반 표현식에서 임의의 숫자와 일치하는 \d와 같이 백슬래시(\) 문자로 시작하는 메타시퀀스를 사용하려면 백슬래시 문자를 두 번 입력합니다.

var pattern:RegExp = new RegExp("\\d+", ""); // matches one or more digits

이 경우 RegExp() 생성자 메서드의 첫 번째 매개 변수가 문자열이고 문자열 리터럴에서 단일 백슬래시 문자를 인식하려면 백슬래시 문자를 두 번 입력해야 하므로 결과적으로 백슬래시 문자를 두 번 입력해야 합니다.

다음에 나오는 단원에서는 일반 표현식 패턴을 정의하는 구문에 대해 설명합니다.

플래그에 대한 자세한 내용은 플래그 및 속성을 참조하십시오.