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

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