두 가지 방법을 사용하여 일반 표현식 인스턴스를 만들 수 있는데, 첫 번째 방법은 슬래시 문자(
/
)를 사용하여 일반 표현식을 나타내고 다른 방법은
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()
생성자 메서드의 첫 번째 매개 변수가 문자열이고 문자열 리터럴에서 단일 백슬래시 문자를 인식하려면 백슬래시 문자를 두 번 입력해야 하므로 결과적으로 백슬래시 문자를 두 번 입력해야 합니다.
다음에 나오는 단원에서는 일반 표현식 패턴을 정의하는 구문에 대해 설명합니다.
플래그에 대한 자세한 내용은
플래그 및 속성
을 참조하십시오.