Ctrl + 위, 아래 소스 위 아래
Ctrl + Shift + W (Alt+ 마우스 드래그) 특정 영역 블록
Ctrl + Shift + L 줄번호 표시
Alt + Shift + C 칸,열 위치 표시하기
Alt + Shift + 위, 아래 블럭 후 이동
// 툴팁 제거. var nToolTipCount:Number = this.systemManager.toolTipChildren.numChildren; for(var i:Number=nToolTipCount;i>0;i--) { this.systemManager.toolTipChildren.removeChildAt(i-1); }
1. ajdt 플러그인 설치
AJDT Update Site - http://download.eclipse.org/tools/ajdt/35/dev/update 를 업데이트 사이트로 등록하고 인스톨 (require 버젼만 받자)
이과정이 안된다면 helios 부터 추가된 Eclipse Margetplace 를 이용해서 설치한다. 검색창에 ajdt라고 입력하고 나온것을 설치하면 된다.
2. groovy 플러그인 설치
Groovy Update Site - http://dist.springsource.org/milestone/GRECLIPSE/e3.6/
3. jira connector 플러그인 설치
Eclipse Marketplace 에서 atlassian connector 검색 후 install
4. sts 플러그인 설치
SpringSource Update Site for Eclipse 3.6 -http://dist.springsource.com/snapshot/TOOLS/nightly/e3.6
/** * 바이트단뒤 getBytes * @param value 기준 문자열 * @param encodeType 인코딩 종류 */ public static function getBytes( value:String, encodeType:String="euc-kr" ): Number { var redByte : ByteArray = new ByteArray(); redByte.writeMultiByte(value, encodeType); return redByte.length; } /** * 바이트단뒤 substring * @param value 기준 문자열 * @param startIndex 시작 위치 * @param length 마지막까지 길이 * @param encodeType 인코딩 종류 */ public static function substrBytes( value:String, startIndex:int, length:int, encodeType:String="euc-kr" ) : String { var totalLength : Number = getBytes(value); if( length > 0 ){ var redByte : ByteArray = new ByteArray(); var wrByte : ByteArray = new ByteArray(); redByte.writeMultiByte(value, "euc-kr"); redByte.position=0; wrByte.writeBytes(redByte, startIndex, length); wrByte.position=0; return wrByte.readMultiByte(length, "euc-kr"); }else{ return null; } }
Sql = "INSERT INTO test(t1, t2, t3) VALUES(?, ?, ?)"
with DbCmd
.CommandText = Sql
.CommandType = adCmdText.Parameters.Append .CreateParameter("@t1", adVarChar, adParamInput, 4)
.Parameters.Append .CreateParameter("@t2", adVarChar, adParamInput, 20)
.Parameters.Append .CreateParameter("@t3", adVarChar, adParamInput, 200).Parameters("@t1") = "t1"
.Parameters("@t2") = "t2"
.Parameters("@t3") = "t3"
.Execute
End with
var target:TraceTarget = new TraceTarget() target.level = LogEventLevel.INFO; target.includeDate = true; target.includeCategory = true; target.includeLevel = true; Log.addTarget(target); var logger:ILogger = Log.getLogger("mx.messaging.Channel"); logger.debug("here is some channel info {0} and {1}", 15.4, true);
// Flash 가 AS 3.0 기반으로 했을 경우 가능 public function initApp() : void { swfContent.addEventListener("init", swfLoaderInithandler); swfContent.load("/flashswf"); } public function swfLoaderInithandler(event:Event) : void { var flashObj : Object = event.currentTarget.content; // Flash public 함수 호출 flashObj .test(); }
문자열중에 ,(콤마)를 검색한다.
var pattern:RegExp = /,/;
str.replace(pattern, "");
문자열 중에 a를 검색한다.
i 는 대소문자를 구별하지 않을때 붙인다.
g 는 한번이 아닌 여러번..??, (음.. asdfasdf 여기서 a가 두번 나오는데 두번 다 한다는거던가. 테스트 해보시길;;)
var pattern:RegExp = /a/ig;
str.replace(pattern, "");
\d{3} 숫자 3개가 옴
\d{1,3} 숫자 1개에서 3개가 옴
[전화번호 패턴]
var pattern:RegExp = /^\d{2,3}-\d{3,4}-\d{4}$/;
/^\d{2,3}-?\d{3,4}-?\d{4}$/
[이메일 패턴]
var pattern:RegExp = /(\w|[_. \-])+@((\w|-)+\. ) +\w{2,4}+/;
한글 포함
var re : RegExp = /(\w|[_.\-가-힣])+@((\w|[_\-가-힣])+\.)+\w{2,4}+/;
[HTML 패턴]
String reghtml = "<(\"[^\"]*\"|'[^']*'|[^'\">])*>";
content = content.replaceAll(reghtml, "");
// <a href="<%=request.getParameter("p")">adsf</a> --> <a href='<%=request.getParameter("p")'>adsf</a> content = content.replaceAll("(<\\w+:(?:[^>]|<%=[^%]+%>)+=)\"([^<\"]*<%=[^%]*\"[^%]*%>[^\"]*)\"", "$1'$2'");
[공백연속 패턴]
var a = "asdfnaf dd";
a = a.replace(/[\s,]+/g, "");
alert(a);
[줄바꿈 패턴]
^\R
반복 메타 문자
반복 메타 문자
의미
*
0회 이상 방복
+
1회 이상 반복
?
0회 혹은 1회
{m}
m회 반복
{m,n}
m회부터n회까지 반복
매칭 메타 문자
메타 문자
의미
.
줄바꿈 문자를 제외한 모든 문자와 매치됨
^
문자열의 시작과 매치됨.
[]메타 기호 안에서는 반대의 문자열을 취함
$
문자열의 마지막과 매치됨
[]
문자 집합 중 한 문자를 의미함
|
또는(or)를 의미함
()
정규식을 그룹으로 묶음
이스케이프 기호
분야
설명
\\
역슬래쉬 문자 자체
\d
모든 숫자와 매치됨 [0-9]
\D
숫자가 아닌 문자와 매치됨[^0-9]
\s
화이트 스페이스 문자와 매치됨[ \t\n\r\f\v]
\S
화이트 스페이스가 아닌 것과 매치됨 [^ \t\n\r\f\v]
\w
숫자 또는 문자와 매치됨[a-zA-Z0-9_]
\W
숫자 또는 문자가 아닌 것과 매치됨[^a-zA-Z0-9_]
\b
단어의 경계를 나타냄. 단어는 영문자 혹은 숫자의 연속 문자열.
\B
단어의 경계가 아님을 나타냄.
최소 매칭을 위한 정규식
기회
의미
*?
*와 같으나 문자열을 취소로 매치함.
+?
+와 같으나 문자열을 취소로 매치함.
??
?와 같으나 문자열을 최소로 매치함.
{m,n}?
{m.n}과 같으나 문자열을 최소로 매치함
re모듈의 주요 메소드
메소드
설명
compile(patten[, flags])
pattern을 컴파일하여 정규식 객체를 리턴한다.
search(pattern, string[,flags])
string을 검사하여pattern에 맞는 문자열 부분이 있는가를 찾는다.
match(pattern, string[,flags])
string의 시작부터 pattern에 맞는지 검사한다.
split(pattern, string[, maxsplit=0])
string을 pattern을 기준으로 분리한다.
findall(pattern, string)
string에서 pattern을 만족하는 모든 문자열을 추출한다.
sub(pattern, repl, string[, count-0])
string에서 pattern을 repl로 대치한다.
subn(pattern, repl, string[,count=0])
sub와 동일하나 대치 횟수도 함께 전달한다.
escape(string)
영문자 숫자가 아닌 문자들을 백슬래쉬 처리해서 리턴한다. 임의의 문자열을 정규식패턴으로 사용할 경우 유용하다.
정규 표현식에서 사용 가능한 플래그
플래그
내용
I, IGNORECATE
대, 소문자를 구별하지 않는다.
L, LOCATE
\w, \W, \b, \B를 현재의 로케일에 영향을 받게한다.
M, MULTILINE
^가 문자열의 맨 처음, 각 라인의 맨 처음과 매치된다.
$는 문자열의 맨 끝, 각 라인의 맨 끝과 매치된다.
S, DOTALL
.을 줄바꾸기 문자도 포함하여 매치하게 한다.
U, UNICODE
\w, \W, \b, \B가 유니코드 문자 특성에 의존하게 한다.
X, VERBOSE
정규식 안의 공백은 무시된다.