패키지 | 최상위 레벨 |
클래스 | 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