문자, 메타문자 및 메타시퀀스

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 값을 사용하는 문자를 찾습니다.