| 패키지 | 최상위 레벨 |
| 클래스 | public dynamic class RegExp |
| 상속 | RegExp Object |
| 언어 버전: | ActionScript 3.0 |
| 런타임 버전: | AIR 1.0, Flash Player 9, Flash Lite 4 |
new RegExp() 생성자를 사용하거나 RegExp 리터럴을 변수에 할당하여 새 RegExp 객체를 만들 수 있습니다.
var pattern1:RegExp = new RegExp("test-\\d", "i");
var pattern2:RegExp = /test-\d/i;
자세한 내용은 ActionScript 3.0 개발자 안내서에서 "일반 표현식 사용"을 참조하십시오.
관련 API 요소
| 속성 | 정의 주체 | ||
|---|---|---|---|
![]() | constructor : Object
지정된 객체 인스턴스의 클래스 객체 또는 생성자 함수에 대한 참조입니다. | Object | |
| dotall : Boolean [읽기 전용]
일반 표현식에서 도트 문자(.)가 개행 문자와 일치하는지 여부를 지정합니다. | RegExp | ||
| extended : Boolean [읽기 전용]
일반 표현식에서 확장 모드를 사용할지 여부를 지정합니다. | RegExp | ||
| global : Boolean [읽기 전용]
일반 표현식에서 전역 비교를 사용할지 여부를 지정합니다. | RegExp | ||
| ignoreCase : Boolean [읽기 전용]
일반 표현식에서 대/소문자가 무시되는지 여부를 지정합니다. | RegExp | ||
| lastIndex : Number
문자열에서 다음 검색을 시작할 인덱스 위치를 지정합니다. | RegExp | ||
| multiline : Boolean [읽기 전용]
m(multiline) 플래그 설정 여부를 지정합니다. | RegExp | ||
| source : String [읽기 전용]
일반 표현식의 패턴 부분을 지정합니다. | RegExp | ||
| 메서드 | 정의 주체 | ||
|---|---|---|---|
두 문자열을 사용하여 일반 표현식을 구성할 수 있습니다. | RegExp | ||
지정된 문자열 str에서 일반 표현식 검색을 수행합니다. | RegExp | ||
![]() |
지정된 속성이 객체에 정의되어 있는지 여부를 나타냅니다. | Object | |
![]() |
Object 클래스의 인스턴스가 매개 변수로 지정된 객체의 프로토타입 체인에 있는지 여부를 나타냅니다. | Object | |
![]() |
지정된 속성이 존재하고 열거 가능한지 여부를 나타냅니다. | Object | |
![]() |
루프 작업에서 동적 속성을 사용할 수 있는지 여부를 설정합니다. | Object | |
지정된 문자열 str에서 일반 표현식이 일치하는지 테스트합니다. | RegExp | ||
![]() |
로캘별 규칙에 따라 서식이 지정된 이 객체의 문자열 표현을 반환합니다. | Object | |
![]() |
지정된 객체의 문자열 표현을 반환합니다. | Object | |
![]() |
지정된 객체의 프리미티브 값을 반환합니다. | Object | |
dotall | 속성 |
dotall:Boolean [읽기 전용] | 언어 버전: | ActionScript 3.0 |
| 런타임 버전: | AIR 1.0, Flash Player 9, Flash Lite 4 |
일반 표현식에서 도트 문자(.)가 개행 문자와 일치하는지 여부를 지정합니다. 일반 표현식을 구성할 때 s 플래그를 사용하여 dotall = true로 설정합니다.
구현
public function get dotall():Boolean예제 ( 예제 사용 방법 )
s(dotall) 플래그를 설정한 결과를 보여 줍니다.
var str:String = "<p>Hello\n"
+ "again</p>"
+ "<p>Hello</p>";
var pattern:RegExp = /<p>.*?<\/p>/;
trace(pattern.dotall) // false
trace(pattern.exec(str)); // <p>Hello</p>
pattern = /<p>.*?<\/p>/s;
trace(pattern.dotall) // true
trace(pattern.exec(str));
extended | 속성 |
extended:Boolean [읽기 전용] | 언어 버전: | ActionScript 3.0 |
| 런타임 버전: | AIR 1.0, Flash Player 9, Flash Lite 4 |
일반 표현식에서 확장 모드를 사용할지 여부를 지정합니다. RegExp 객체가 확장 모드인 경우 생성자 문자열의 공백 문자는 무시됩니다. 이렇게 하면 생성자의 가독성을 높일 수 있습니다.
일반 표현식을 구성할 때 x 플래그를 사용하여 extended = true로 설정합니다.
구현
public function get extended():Boolean예제 ( 예제 사용 방법 )
x 플래그를 사용하므로 문자열의 공백이 무시됩니다.
var rePhonePattern1:RegExp = /\d{3}-\d{3}-\d{4}|\(\d{3}\)\s?\d{3}-\d{4}/;
var str:String = "The phone number is (415)555-1212.";
trace(rePhonePattern1.extended) // false
trace(rePhonePattern1.exec(str)); // (415)555-1212
var rePhonePattern2:RegExp = / \d{3}-\d{3}-\d{4} | \( \d{3} \) \ ? \d{3}-\d{4} /x;
trace(rePhonePattern2.extended) // true
trace(rePhonePattern2.exec(str)); // (415)555-1212
global | 속성 |
global:Boolean [읽기 전용] | 언어 버전: | ActionScript 3.0 |
| 런타임 버전: | AIR 1.0, Flash Player 9, Flash Lite 4 |
일반 표현식에서 전역 비교를 사용할지 여부를 지정합니다. global == true인 경우 lastIndex 속성은 일치 항목이 발견된 후 설정됩니다. 이후에 비교 작업을 요청하면 일반 표현식 엔진이 문자열의 lastIndex 위치에서 시작됩니다. 일반 표현식을 구성할 때 g 플래그를 사용하여 global을 true로 설정합니다.
구현
public function get global():Boolean예제 ( 예제 사용 방법 )
exec() 메서드에서 g(global) 플래그를 설정한 결과를 보여 줍니다.
var pattern:RegExp = /foo\d/; var str:String = "foo1 foo2"; trace(pattern.global); // false trace(pattern.exec(str)); // foo1 trace(pattern.lastIndex); // 0 trace(pattern.exec(str)); // foo1 pattern = /foo\d/g; trace(pattern.global); // true trace(pattern.exec(str)); // foo1 trace(pattern.lastIndex); // 4 trace(pattern.exec(str)); // foo2
ignoreCase | 속성 |
ignoreCase:Boolean [읽기 전용] | 언어 버전: | ActionScript 3.0 |
| 런타임 버전: | AIR 1.0, Flash Player 9 |
일반 표현식에서 대/소문자가 무시되는지 여부를 지정합니다. 일반 표현식을 구성할 때 i 플래그를 사용하여 ignoreCase = true로 설정합니다.
구현
public function get ignoreCase():Boolean예제 ( 예제 사용 방법 )
i(ignoreCase) 플래그를 설정한 결과를 보여 줍니다.
var pattern:RegExp = /bob/; var str:String = "Bob bob"; trace(pattern.ignoreCase); // false trace(pattern.exec(str)); // bob pattern = /bob/i; trace(pattern.ignoreCase); // true trace(pattern.exec(str)); // Bob
lastIndex | 속성 |
lastIndex:Number| 언어 버전: | ActionScript 3.0 |
| 런타임 버전: | AIR 1.0, Flash Player 9, Flash Lite 4 |
문자열에서 다음 검색을 시작할 인덱스 위치를 지정합니다. 이 속성은 RegExp 클래스의 exec() 및 test() 메서드에 적용됩니다. 그러나 String 클래스의 match(), replace() 및 search() 메서드는 lastIndex 속성을 무시하고 모든 검색을 문자열의 처음부터 시작합니다.
일반 표현식에서 g(global) 플래그가 true로 설정된 경우 exec() 또는 test() 메서드에서 일치 항목을 찾으면 lastIndex 속성이 마지막 일치 항목에서 일치하는 하위 문자열에 있는 마지막 문자 다음 문자의 인덱스 위치로 자동으로 설정됩니다. g(global) 플래그가 false로 설정되어 있으면 lastIndex 속성이 설정되지 않습니다.
lastIndex 속성을 설정하여 문자열에서 일반 표현식 비교를 시작할 위치를 조정할 수 있습니다.
구현
public function get lastIndex():Number public function set lastIndex(value:Number):void예제 ( 예제 사용 방법 )
lastIndex 속성을 설정한 결과를 보여 주고 g(global) 플래그가 설정되어 있는 일반 표현식에 exec() 메서드를 호출한 후 이 속성이 업데이트됨을 보여 줍니다.
var pattern:RegExp = /\w\d/g; var str:String = "a1 b2 c3 d4"; pattern.lastIndex = 2; trace(pattern.exec(str)); // b2 trace(pattern.lastIndex); // 5 trace(pattern.exec(str)); // c3 trace(pattern.lastIndex); // 8 trace(pattern.exec(str)); // d4 trace(pattern.lastIndex); // 11 trace(pattern.exec(str)); // null
multiline | 속성 |
multiline:Boolean [읽기 전용] | 언어 버전: | ActionScript 3.0 |
| 런타임 버전: | AIR 1.0, Flash Player 9, Flash Lite 4 |
m(multiline) 플래그 설정 여부를 지정합니다. 이 플래그를 설정하면 일반 표현식에서 캐럿(^) 및 달러 기호($)가 개행 문자 앞 및 뒤의 위치를 찾습니다. 일반 표현식을 구성할 때 m 플래그를 사용하여 multiline = true로 설정합니다.
구현
public function get multiline():Boolean예제 ( 예제 사용 방법 )
m(multiline) 플래그를 설정한 결과를 보여 줍니다.
var pattern:RegExp = /^bob/;
var str:String = "foo\n"
+ "bob";
trace(pattern.multiline); // false
trace(pattern.exec(str)); // null
pattern = /^bob/m;
trace(pattern.multiline); // true
trace(pattern.exec(str)); // bob
source | 속성 |
source:String [읽기 전용] | 언어 버전: | ActionScript 3.0 |
| 런타임 버전: | AIR 1.0, Flash Player 9, Flash Lite 4 |
일반 표현식의 패턴 부분을 지정합니다.
구현
public function get source():String예제 ( 예제 사용 방법 )
source 매개 변수를 출력합니다.
var re1:RegExp = /aabb/gi;
trace (re1.source); // aabb
var re2:RegExp = new RegExp("x+y*", "i");
trace(re2.source); // x+y*
RegExp | () | 생성자 |
public function RegExp(re:String, flags:String)| 언어 버전: | ActionScript 3.0 |
| 런타임 버전: | AIR 1.0, Flash Player 9 |
두 문자열을 사용하여 일반 표현식을 구성할 수 있습니다. 문자열 하나는 일반 표현식의 패턴을 정의하고 다른 하나는 일반 표현식에 사용되는 플래그를 정의합니다.
매개 변수re:String — 일반 표현식의 패턴으로, 생성자 문자열이라고도 합니다. 이 문자열은 일반 표현식의 주요 부분("/" 문자로 둘러싸인 부분)입니다.
참고:
| |
flags:String — 일반 표현식의 수정자입니다. 여기에는 다음이 포함될 수 있습니다.
|
exec | () | 메서드 |
AS3 function exec(str:String):Object| 언어 버전: | ActionScript 3.0 |
| 런타임 버전: | AIR 1.0, Flash Player 9, Flash Lite 4 |
지정된 문자열 str에서 일반 표현식 검색을 수행합니다.
일반 표현식에 g(global) 플래그를 설정하지 않은 경우 문자열의 시작 부분(인덱스 위치 0)에서 검색이 시작되며 일반 표현식의 lastIndex 속성은 무시됩니다.
일반 표현식에 g(global) 플래그를 설정한 경우 일반 표현식의 lastIndex 속성에 지정된 인덱스 위치에서 검색이 시작됩니다. 검색에서 하위 문자열이 일치하면 lastIndex 속성이 일치 부분의 끝 위치에 맞게 변경됩니다.
매개 변수
str:String — 검색할 문자열입니다.
|
Object — 일치하는 부분이 없으면 null이 반환되고, 그렇지 않으면 속성이 다음과 같은 객체가 반환됩니다.
|
관련 API 요소
예제 ( 예제 사용 방법 )
g(global) 플래그를 설정하지 않은 경우에는 exec()를 사용하여 문자열에서 첫 번째 일치 항목을 찾을 수 있습니다.
var myPattern:RegExp = /(\w*)sh(\w*)/ig;
var str:String = "She sells seashells by the seashore";
var result:Object = myPattern.exec(str);
trace(result);
result 객체는 다음과 같이 설정됩니다.
-
result[0]은 완전히 일치하는 항목인"She"로 설정됩니다. -
result[1]은 괄호로 둘러싼 첫 번째 일치 그룹인 빈 문자열로 설정됩니다. -
result[2]는 괄호로 둘러싼 두 번째 일치 그룹인"e"로 설정됩니다. -
result.index는 0으로 설정됩니다. -
result.input은 입력 문자열인"She sells seashells by the seashore"로 설정됩니다.
다음 예제에서는 일반 표현식에 g(global) 플래그를 설정한 경우 exec()를 반복적으로 사용하여 여러 일치 항목을 찾을 수 있습니다.
var myPattern:RegExp = /(\w*)sh(\w*)/ig;
var str:String = "She sells seashells by the seashore";
var result:Object = myPattern.exec(str);
while (result != null) {
trace ( result.index, "\t", result);
result = myPattern.exec(str);
}
이 코드의 출력 결과는 다음과 같습니다.
0 She,,e
10 seashells,sea,ells
27 seashore,sea,ore
test | () | 메서드 |
AS3 function test(str:String):Boolean| 언어 버전: | ActionScript 3.0 |
| 런타임 버전: | AIR 1.0, Flash Player 9, Flash Lite 4 |
지정된 문자열 str에서 일반 표현식이 일치하는지 테스트합니다.
일반 표현식에 g(global) 플래그를 설정하지 않은 경우 문자열의 시작 부분(인덱스 위치 0)에서 검색이 시작되며 일반 표현식의 lastIndex 속성은 무시됩니다.
일반 표현식에 g(global) 플래그를 설정한 경우 일반 표현식의 lastIndex 속성에 지정된 인덱스 위치에서 검색이 시작됩니다. 검색에서 하위 문자열이 일치하면 lastIndex 속성이 일치 부분의 끝 위치에 맞게 변경됩니다.
매개 변수
str:String — 테스트할 문자열입니다.
|
Boolean — 일치하는 부분이 있으면 true이고, 그렇지 않으면 false입니다.
|
예제 ( 예제 사용 방법 )
g(global) 플래그가 설정되어 있는 일반 표현식에 test() 메서드를 사용하는 방법을 보여 줍니다.
var re1:RegExp = /\w/g; var str:String = "a b c"; trace (re1.lastIndex); // 0 trace (re1.test(str)); // true trace (re1.lastIndex); // 1 trace (re1.test(str)); // true trace (re1.lastIndex); // 3 trace (re1.test(str)); // true trace (re1.lastIndex); // 5 trace (re1.test(str)); // false
informalizeGreeting() 메서드는 대/소문자를 구분하지 않고 Hello를 Hi로 바꿉니다. 또한 이 메서드는 문자열의 이름이 지정된 패턴과 일치하는 경우 해당 이름에서 성을 제거합니다. validateEmail() 및 validatePhoneNumber() 메서드는 전달된 문자열을 검사하여 패턴이 유효한 전자 메일 주소 또는 특정 전화 번호 패턴과 일치하는지 확인하고 결과에 따라 부울 값을 반환합니다.
package {
import flash.display.Sprite;
public class RegExpExample extends Sprite {
public function RegExpExample() {
var formalGreeting:String = "Hello, John Smith.";
trace(informalizeGreeting(formalGreeting)); // Hi, John.
var validEmail:String = "name@domain.com";
trace(validateEmail(validEmail)); // true
var invalidEmail:String = "foo";
trace(validateEmail(invalidEmail)); // false
var validPhoneNumber:String = "415-555-1212";
trace(validatePhoneNumber(validPhoneNumber)); // true
var invalidPhoneNumber:String = "312-867-530999";
trace(validatePhoneNumber(invalidPhoneNumber)); // false
}
private function informalizeGreeting(str:String):String {
var pattern:RegExp = new RegExp("hello, (\\w+) \\w+", "i");
return str.replace(pattern, "Hi, $1");
}
private function validateEmail(str:String):Boolean {
var pattern:RegExp = /(\w|[_.\-])+@((\w|-)+\.)+\w{2,4}+/;
var result:Object = pattern.exec(str);
if(result == null) {
return false;
}
return true;
}
private function validatePhoneNumber(str:String):Boolean {
var pattern:RegExp = /^\d{3}-\d{3}-\d{4}$/;
var result:Object = pattern.exec(str);
if(result == null) {
return false;
}
return true;
}
}
}
Tue Jun 12 2018, 03:17 PM Z
상속되는 공용 속성 숨기기
상속되는 공용 속성 표시