FLEX regular expression

일치된 패턴을 1차원 배열 형태로 가져온다.
그룹화해도 2차원 배열이 생성되지는 않는다.


package
{
import flash.display.Sprite;

public class RegularExpressionTest extends Sprite
{
// /와 /의 사이에 패턴을 정의한다.
// .은 문자 하나를 의미하지만 일반문자 .을 의미하기 위해 \.으로 표현
// g(global) 플러그 설정으로 패턴에 맞는 문자를 전부 찾음
// x(extends) 플래그는 공백을 무시
// i(ignore) 대소문자 구분안함
public function RegularExpressionTest()
{
super();
this.regExpTest1();
this.regExpTest2();
this.regExpTest3();
this.regExpTest4();
this.regExpTest5();
this.regExpTest6();
}

private function regExpTest1():void{
var str:String = "fjkdsjapigfijiedokkv343dkj3dcat";
var pattern1:RegExp = /\d{1,}/g;
if(pattern1.test(str)){
trace("정규식 적용 성공");
trace("pattern1: " + str.match(pattern1));
} else {
trace("정규식 정용 실패");
}
}

private function regExpTest2():void{
var str:String = "EFai11GaOHa31AHa.31BBCEABBC";
var pattern2:RegExp = /Ha\.?\d{2}/g;
trace("pattern2: " + str.match(pattern2));
}

private function regExpTest3():void{
var str:String = "EFa11GaspamHa3Iaspam ABBEABBC";
var pattern3:RegExp = /^E\w+/g;
trace("pattern3: " + str.match(pattern3));
var patternBlankX:RegExp = /spam /g;
trace("patternBlankX: [" + str.match(patternBlankX) + "]");
var patternBlank:RegExp = /spam /x;
trace("patternBlank: [" + str.match(patternBlank) + "]");
var patternIgnore:RegExp = /ef/i;
trace("patternIgnore: " + str.match(patternIgnore));
}

private function regExpTest4():void{
var str:String = "My mail_address: [email protected] [email protected]";
var pattern4:RegExp = /\[email protected][a-z]+(\.[a-z]+){1,2}/g
trace("pattern4: " + str.match(pattern4));
}

private function regExpTest5():void{
var pattern5:RegExp = /\d{2,3}-\d{3,4}-\d{4}/g;
var str:String = "연락처: 대전 042-123-4567 서울 02-987-12345 HP 010-1234-4567";
trace("pattern5: " + str.match(pattern5));
var pattern:RegExp = /-/g
//trace("pattern5 replace: " + String(str.match(pattern5)).replace("-", ":"));
trace("pattern5 replace: " + String(str.match(pattern5)).replace(pattern, ":"));
trace("pattern5 split & join: " + String(str.match(pattern5)).split("-").join("+"));
}

private function regExpTest6():void{
var pattern6:RegExp = /[ㄱ-힣]+/g
var str:String = "김길동 홍길동 박길동 엄니이";
trace("pattern6: " + str.match(pattern6));
}
}
}

Leave a Reply

Close Menu