문자, 메타문자 및 메타시퀀스
Flash Player 9 이상, Adobe AIR 1.0 이상
가장 간단한 일반 표현식은 다음 예제와 같이 문자 시퀀스와 일치하는 일반 표현식입니다.
var pattern:RegExp = /hello/;
그러나 메타문자라고 하는 다음 문자는 일반 표현식에서 특별한 의미를 갖습니다.
^ $ \ . * + ? ( ) [ ] { } |
예를 들어, 다음 일반 표현식은 A 문자 다음에 B 문자 인스턴스가 0개 이상 나오고(별표 메타문자는 이 반복을 나타냄) 그 다음에 C 문자가 나오는 문자열을 찾습니다.
/AB*C/
일반 표현식 패턴에서 특별한 의미가 없는 메타문자를 포함하려면 백슬래시(\) 이스케이프 문자를 사용해야 합니다. 예를 들어, 다음 일반 표현식은 A 문자, B 문자, 별표, C 문자가 차례로 나오는 문자열을 찾습니다.
var pattern:RegExp = /AB\*C/;
메타문자와 같이 메타시퀀스도 일반 표현식에서 특별한 의미를 갖습니다. 메타시퀀스는 둘 이상의 문자로 구성됩니다. 다음 단원에서는 메타문자와 메타시퀀스를 사용하는 방법에 대해 자세히 설명합니다.
메타문자 정보
다음 표에는 일반 표현식에 사용할 수 있는 메타문자가 요약되어 있습니다.
메타문자
|
설명
|
^(캐럿)
|
문자열의 시작 부분에서 찾습니다. m(multiline) 플래그를 설정하면 캐럿 문자는 행의 시작 부분도 찾습니다(플래그 및 속성 참조). 또한 문자 클래스의 맨 처음에 사용되는 경우에는 문자열의 시작 지점이 아니라 부정을 나타냅니다. 자세한 내용은 문자 클래스를 참조하십시오.
|
$(달러 기호)
|
문자열의 끝 부분에서 찾습니다. m(multiline) 플래그를 설정하면 $는 개행(\n) 문자 앞의 위치도 찾습니다. 자세한 내용은 플래그 및 속성을 참조하십시오.
|
\(백슬래시)
|
특수 문자의 특별한 메타문자 의미를 이스케이프합니다.
또한 /1\/2/와 같이 문자 1, 슬래시 문자, 문자 2가 차례로 나오도록 슬래시 문자를 일반 표현식 리터럴로 사용하려는 경우에도 백슬래시 문자를 사용합니다.
|
. (도트)
|
임의의 단일 문자를 찾습니다.
도트는 s(dotall) 플래그가 설정된 경우에만 개행 문자(\n)를 찾습니다. 자세한 내용은 플래그 및 속성을 참조하십시오.
|
*(별표)
|
바로 앞의 항목이 0번 이상 반복된 것을 찾습니다.
자세한 내용은 한정 기호를 참조하십시오.
|
+(더하기)
|
바로 앞의 항목이 1번 이상 반복된 것을 찾습니다.
자세한 내용은 한정 기호를 참조하십시오.
|
?(물음표)
|
바로 앞의 항목이 0번 또는 1번 반복된 것을 찾습니다.
자세한 내용은 한정 기호를 참조하십시오.
|
( 및 )
|
일반 표현식 내에서 그룹을 정의합니다. 다음과 같은 경우 그룹을 사용합니다.
| 범위를 제한하려는 경우(예: /(a|b|c)d/)
한정 기호 범위를 정의하려는 경우(예: /(walla.){1,2}/)
역참조를 사용하는 경우. 예를 들어, 다음 일반 표현식에서 \1은 패턴의 첫 번째 괄호 그룹과 일치하는 모든 항목을 찾습니다.
/(\w*) is repeated: \1/
자세한 내용은 그룹을 참조하십시오.
|
[ 및 ]
|
단일 문자에 대해 일치하는 항목을 정의하는 문자 클래스를 정의합니다.
/[aeiou]/ 지정된 문자 중 하나를 찾습니다.
문자 클래스 내에서 문자 범위를 지정하려면 하이픈(-)을 사용합니다.
/[A-Z0-9]/ 대문자 A~Z 또는 0~9를 찾습니다.
문자 클래스 내에서 ] 및 - 문자를 이스케이프하려면 백슬래시를
- 문자:
/[+\-]\d+/ 하나 이상의 숫자 앞에서 + 또는 -를 찾습니다.
문자 클래스 내에서 다른 문자(일반적으로 메타문자)는 메타문자가 아니라 일반 문자로 처리되므로 백슬래시를 사용할 필요가 없습니다.
/[$]/£ $또는 £를 찾습니다.
자세한 내용은 문자 클래스를 참조하십시오.
|
|(파이프)
|
왼쪽 항목 또는 오른쪽 항목 중 하나를 찾습니다.
/abc|xyz/abc 또는 xyz를 찾습니다.
|
메타시퀀스 정보
메타시퀀스는 일반 표현식 패턴에서 특별한 의미를 갖는 문자 시퀀스입니다. 다음 표에서는 이러한 메타시퀀스에 대해 설명합니다.
메타시퀀스
|
설명
|
{n}
{n,}
및
{n,n}
|
앞의 항목에 대한 숫자 한정 기호 또는 한정 기호 범위를 지정합니다.
/A{27}/27번 반복된 A 문자를 찾습니다.
/A{3,}/3번 이상 반복된 A 문자를 찾습니다.
/A{3,5}/3~5번 반복된 A 문자를 찾습니다.
자세한 내용은 한정 기호를 참조하십시오.
|
\b
|
단어 문자와 단어가 아닌 문자 사이의 위치에서 찾습니다. 또한 문자열의 첫 번째 문자 또는 마지막 문자가 단어이면 문자열의 시작 또는 끝 부분도 찾습니다.
|
\B
|
두 개의 단어 문자 사이의 위치에서 찾습니다. 또한 단어가 아닌 두 문자 사이의 위치에서도 찾습니다.
|
\d
|
10진수를 찾습니다.
|
\D
|
숫자 이외의 다른 문자를 찾습니다.
|
\f
|
용지 공급 문자를 찾습니다.
|
\n
|
개행 문자를 찾습니다.
|
\r
|
캐리지 리턴 문자를 찾습니다.
|
\s
|
빈 칸, 탭, 개행 문자 또는 캐리지 리턴 문자 등을 포함하여 모든 공백 문자를 찾습니다.
|
\S
|
공백이 아닌 다른 문자를 찾습니다.
|
\t
|
탭 문자를 찾습니다.
|
\unnnn
|
16진수 nnnn으로 지정된 문자 코드를 사용하는 유니코드 문자를 찾습니다. 예를 들어, \u263a는 스마일 문자입니다.
|
\v
|
수직 탭 문자를 찾습니다.
|
\w
|
단어 문자(AZ–, az–, 0-9 또는 _)를 찾습니다. 이때 \w는 é, ñ 또는 ç 등 영어 이외의 문자는 찾지 않습니다 .
|
\W
|
단어가 아닌 다른 문자를 찾습니다.
|
\\xnn
|
16진수 nn으로 정의된 ASCII 값을 사용하는 문자를 찾습니다.
|