가장 간단한 일반 표현식은 다음 예제와 같이 문자 시퀀스와 일치하는 일반 표현식입니다.
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
|
탭 문자를 찾습니다.
|
\u
nnnn
|
16진수
nnnn
으로 지정된 문자 코드를 사용하는 유니코드 문자를 찾습니다. 예를 들어,
\u263a
는 스마일 문자입니다.
|
\v
|
수직 탭 문자를 찾습니다.
|
\w
|
단어 문자(
AZ
–,
az
–,
0-9
또는
_
)를 찾습니다. 이때
\w
는
é
,
ñ
또는
ç
등 영어 이외의 문자는 찾지 않습니다.
|
\W
|
단어가 아닌 다른 문자를 찾습니다.
|
\\x
nn
|
16진수
nn
으로 정의된 ASCII 값을 사용하는 문자를 찾습니다.
|
|
|
|