| Package | 톱 레벨 |
| Class | public dynamic class RegExp |
| Inheritance | RegExp Object |
new RegExp() constructor 을 사용하는지, RegExp 리터럴을 변수에 할당하는 것에 의해, 새로운 RegExp object를 작성할 수가 있습니다.
var pattern1:RegExp = new RegExp("test-\\d", "i");
var pattern2:RegExp = /test-\d/i;
상세한 것에 대하여는, 「ActionScript 3.0 의 프로그래밍」의 「정규 표현의 사용」을 참조해 주세요.
See also
| property | 정의 | ||
|---|---|---|---|
![]() | constructor : Object
특정의 object 인스턴스의 클래스 object 또는 constructor 함수에의 참조입니다.
| Object | |
| dotall : Boolean
[read-only]
정규 표현 패턴내의 닷 캐릭터 (. )(와)과 개행 캐릭터를 일치시킬지 어떨지를 지정합니다.
| RegExp | ||
| extended : Boolean
[read-only]
정규 표현에 확장 모드를 사용할지 어떨지를 지정합니다.
| RegExp | ||
| global : Boolean
[read-only]
정규 표현에 글로벌 조합을 사용할지 어떨지를 지정합니다.
| RegExp | ||
| ignoreCase : Boolean
[read-only]
정규 표현으로 대문자와 소문자의 구별을 무시할지 어떨지를 지정합니다.
| RegExp | ||
| lastIndex : Number
string내에서 다음번의 검색을 개시하는 인덱스 위치를 지정합니다.
| RegExp | ||
| multiline : Boolean
[read-only]
m (multiline) 플래그를 설정할지 어떨지를 지정합니다. | RegExp | ||
![]() | prototype : Object
[static]
클래스 또는 함수 object의 prototype object에의 참조입니다.
| Object | |
| source : String
[read-only]
정규 표현의 패턴 부분을 지정합니다.
| RegExp | ||
| Methods | 정의 | ||
|---|---|---|---|
| RegExp (re:String , flags:String )
2 개의 string로부터 정규 표현을 작성할 수가 있습니다.
| RegExp | ||
| exec (str:String ):Object
지정된 string
str 에 대해, 정규 표현을 검색합니다. | RegExp | ||
![]() | hasOwnProperty (name:String ):Boolean
object로 지정된 property가 정의되고 있는지 어떤지를 나타냅니다.
| Object | |
![]() | isPrototypeOf (theClass:Object ):Boolean
Object 클래스의 인스턴스가, Parameters로서 지정된 object의 prototype 체인내에 있을지 어떨지를 나타냅니다.
| Object | |
![]() | propertyIsEnumerable (name:String ):Boolean
지정된 property가 존재해, 열거 가능한가 어떤가를 나타냅니다.
| Object | |
![]() | setPropertyIsEnumerable (name:String , isEnum:Boolean = true):void
루프 처리에 대한 다이나믹 property의 가용성을 설정합니다.
| Object | |
| test (str:String ):Boolean
지정된 string
str 내에 정규 표현과 일치하는 substring가 있을지 어떨지를 테스트합니다. | RegExp | ||
![]() | toString ():String
지정된 object의 string 표현을 돌려줍니다.
| Object | |
![]() | valueOf ():Object
지정된 object의 원시적치를 돌려줍니다.
| Object | |
| dotall | property |
dotall:Boolean [read-only]
정규 표현 패턴내의 닷 캐릭터 (. )(와)과 개행 캐릭터를 일치시킬지 어떨지를 지정합니다. dotall = true 를 설정하려면 , 정규 표현의 작성시에 s 플래그를 사용합니다.
public function get dotall():Boolean
See also
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 | property |
extended:Boolean [read-only]정규 표현에 확장 모드를 사용할지 어떨지를 지정합니다. RegExp object가 확장 모드의 경우, constructor string내의 공백 캐릭터는 무시됩니다. 이것은 constructor 의 가독성을 높이기 (위해)때문에 일을 목적으로 합니다.
extended = true 로 설정하려면 , 정규 표현의 작성시에 x 플래그를 사용합니다.
public function get extended():Boolean
See also
x 플래그를 사용하고 있어,
string내의 공백 캐릭터는 무시됩니다.
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 | property |
global:Boolean [read-only]
정규 표현에 글로벌 조합을 사용할지 어떨지를 지정합니다. global == true 의 경우, 일치하는 것이 1 개 발견된 후에 lastIndex property가 설정됩니다. 다음번, 조합이 요구되었을 때에는, 정규 표현 엔진은 string의 lastIndex 위치로부터 조합을 개시합니다. global 를 true 로 설정하려면 , 정규 표현의 작성시에 g 플래그를 사용합니다.
public function get global():Boolean
See also
exec() Methods에 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 | property |
ignoreCase:Boolean [read-only]
정규 표현으로 대문자와 소문자의 구별을 무시할지 어떨지를 지정합니다. ignoreCase = true 로 설정하려면 , 정규 표현의 작성시에 i 플래그를 사용합니다.
public function get ignoreCase():Boolean
See also
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 | property |
lastIndex:Number [read-write]
string내에서 다음번의 검색을 개시하는 인덱스 위치를 지정합니다. 이 property는, RegExp 클래스의 exec() Methods와 test() Methods에 영향을 줍니다. 다만, String 클래스의 match() Methods,replace() Methods, 및 search() Methods는,lastIndex property를 무시해, 모든 검색을 string의 선두로부터 개시합니다.
exec() Methods 또는 test() Methods로 일치하는 것이 발견되어, 정규 표현으로 g (global) 플래그가 true 로 설정되어 있는 경우, Methods는 자동적으로, 마지막에 일치한 substring내의 마지막 캐릭터의다음에 있는 캐릭터의 인덱스 위치에 lastIndex property를 설정합니다. g (global) 플래그가 false 로 설정되어 있는 경우, Methods는 lastIndex property를 설정하지 않습니다.
lastIndex property를 설정하면, string내에서 정규 표현에 의한 검색을 개시하는 위치를 조정할 수 있습니다.
public function get lastIndex():Number
public function set lastIndex(value:Number ):void
See also
lastIndex property를 설정했을 경우의 영향을 나타내고 있습니다.
또,g (global) 플래그가 설정된 정규 표현에 대해 exec() Methods를 호출한 후에,
그 property가 어떻게 갱신되는지를 나타내고 있습니다.
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 | property |
multiline:Boolean [read-only]
m (multiline) 플래그를 설정할지 어떨지를 지정합니다. 설정하는 경우, 정규 표현내의 caret (^)와 달러 기호 ($)는 개행 캐릭터의 전과 후에 일치합니다. multiline = true 로 설정하려면 , 정규 표현의 작성시에 m 플래그를 사용합니다.
public function get multiline():Boolean
See also
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 | property |
source:String [read-only]정규 표현의 패턴 부분을 지정합니다.
Implements public function get source():String
See also
source Parameters를 출력합니다.
var re1:RegExp = /aabb/gi;
trace (re1.source); // aabb
var re2:RegExp = new RegExp("x+y*", "i");
trace(re2.source); // x+y*
| RegExp | () | constructor |
public 함수 RegExp(re:String , flags:String )2 개의 string로부터 정규 표현을 작성할 수가 있습니다. 정규 표현으로 사용하는 플래그를 정의하는 string의 2 개의 string로부터, 정규 표현을 작성할 수가 있습니다.
Parametersre:String — 정규 표현의 패턴입니다. constructor string고도 말합니다. 이것은 정규 표현의 메인이 되는 부분입니다. 즉,"/" 그리고 둘러싸이는 부분입니다.
메모 :
var re1:RegExp = new RegExp("bob", "i");
var re2:RegExp = /bob/i; var re1:RegExp = new RegExp("\\d+", "");
var re2:RegExp = /\d/;최초의 표현에서는, 엔기호를 이중으로 입력할 필요가 있습니다. 이것은, |
|
flags:String — 정규 표현의 수식자입니다. 이것에는 다음의 것이 포함됩니다.
|
See also
| exec | () | Methods |
AS3 function exec(str:String ):Object
지정된 string str 에 대해, 정규 표현을 검색합니다.
정규 표현에 g (global) 플래그가 설정되지않은경우, string의 선두 (인덱스 위치 0)로부터 검색이 개시되어 정규 표현의 lastIndex property는 무시됩니다.
정규 표현에 g (global) 플래그가 설정되어 있는경우, 정규 표현의 lastIndex property로 지정된 인덱스 위치로부터 검색이 개시됩니다. 검색으로 substring가 일치하면,lastIndex property는 일치한 substring의 마지막 위치로 변경됩니다.
str:String — 검색하는 string입니다.
|
Object —
일치가 발견되지 않는 경우는 null, 그 이외의 경우는, 다음에 나타내는 property를 가지는 object를 돌려줍니다.
|
See also
g (global) 플래그를 설정하지 않는경우,exec() 를 사용해, string내에서 최초로 일치하는 것을 검색할 수가 있습니다.
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 object는 다음과 같이 설정됩니다.
result[0] 은 "She" 로 설정됩니다 (완전 일치). result[1] 은 empty의 string로 설정됩니다 (괄호 지정된 그룹의 최초의 일치). result[2] 는 "e" 로 설정됩니다 (괄호 지정된 그룹의 2 번째의 일치). result.index 는 0 으로 설정됩니다. result.input 는 입력 string "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 | () | Methods |
AS3 function test(str:String ):Boolean
지정된 string str 내에 정규 표현과 일치하는 substring가 있을지 어떨지를 테스트합니다.
정규 표현에 g (global) 플래그가 설정되지않은경우, string의 선두 (인덱스 위치 0)로부터 검색이 개시되어 정규 표현의 lastIndex property는 무시됩니다.
정규 표현에 g (global) 플래그가 설정되어 있는경우, 정규 표현의 lastIndex property로 지정된 인덱스 위치로부터 검색이 개시됩니다. 검색으로 substring가 일치하면,lastIndex property는 일치한 substring의 마지막 위치로 변경됩니다.
str:String — 테스트하는 string입니다.
|
Boolean —
일치가 존재하는 경우는 true, 그 이외의 경우는 false 를 돌려줍니다.
|
See also
g (global) 플래그가 설정되어 있는 정규 표현에
test() Methods를 사용하는 방법을 나타내고 있습니다.
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
Hello 라고 하는 말이 발견되면,informalizeGreeting() Methods는
이 말을 단순하게 Hi 에 옮겨놓습니다. 또, string내의 이름으로부터 성을 삭제합니다.
다만, 지정된 패턴에 이름이 일치하는 경우입니다. validateEmail() Methods와
validatePhoneNumber() Methods는, 건네받은 string의 패턴이 유효한 전자메일 주소
또는 특정의 전화번호의 패턴과 일치할지 어떨지를 체크해, 그 결과에 근거하는 불리언 값을 돌려줍니다.
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;
}
}
}