2006년 10월 13일 금요일

Regular Expressions.. 정규식..

알아두면 너무 편리한 에디트 플러스에서 사용하는 정규식..

잃어버리기 전에 하나씩 메모..


^ 는 라인의 제일 처음을 말한다.

$ 는 정규식에서 라인의 제일 마지막을 말한다. (주위 : 원래 ^, $ 는 정규식에서 데이터의 시작과 끝을 의미)

| 는 and를 의미한다. 이 기호의 양쪽에 있는 두 글자를 모두 찾습니다. (ex. java|jsp|servlet)

\t 탭 문자를 찾습니다.

\n 줄 바꿈 문자를 찾습니다

. 모든 문자를 찾습니다.

[] 대괄호 범위의 모든 문자를 찾습니다.  (ex. "[ab]" 는 "a"와 "b"를 모두 찾습니다. "[a-z]" a부터 z까지입니다.)
      - 한글검색: 한글의 범위는 "ㄱ-ㅎ, 가-힣" 입니다.

[^] 대괄호 범위의 모든 문자를 제외한 문자를 찾습니다. (ex. "[^a-z]" a~z까지의 문자를 제외합니다.)
            - 주의: 괄호안에서 ^와 괄호밖에서 ^의 용도를 잘 생각하라..
* 0번 또는 그 이상의 문자를 찾습니다. (ex. "j[a*]" 는 java, jad ... 의 ja를 검색합니다.)

() 식을 해석하는 순서를 바꾸거나 식을 태그로 표시할 때 사용합니다.



참고.. (http://blog.naver.com/satmania?Redirect=Log&logNo=90008546174)

"ab*" a뒤에 0 이상의 b가 있는 문자열 ("a", "ab", "abbb", 등)
"ab+" 위와 동일 하지만 최소한 하나 이상의 b가 있어야 함 ("ab", "abbb", 등)
"ab?" b가 하나 있을 수도 있고 없을 수도 있음 (ab 또는 a)
"ab{2}" a뒤에 2개의 b가 있는 문자열 ("abb"); "ab{2,}" a뒤에 최소한 2개 이상의 b가 있는 문자열 ("abb", "abbbb", 등.); "ab{3,5}" a뒤에 3개에서 5개 사이의 b가 있는 문자열 ("abbb", "abbbb", 또는 "abbbbb").
{ }를 사용할 대는 반드시 첫 번째 숫자는 적어야 됨을 유의합니다. ((O) "{0,2}", (X) "{,2}"). 또한 '*', '+', '?'는 각각 "{0,}", "{1,}", "{0,1}"와 같습니다.

이제 ()를 사용해서 하나의 문자가 아닌 여러 문자를 지정하는 방법을 알아봅니다.

"a(bc)*": a 뒤에 "bc"가 0또는 그이상의 수만큼 있는 문자열
"a(bc){1,5}": a 뒤에 "bc."가 1에서 5번 들어 있는 문자열

또 다른 특수문자로는 OR 연산을 하는 '|'를 들 수 있습니다.

"hi|hello": "hi"나 "hello"가 들어 있는 문자열
"(b|cd)ef": "bef" 또는 "cdef"
"(a|b)*c": a와 b가 섞여서 여러번 나타나고 그뒤에 c가 붙어있는 패턴

'.' (period)는 어떤 한 문자를 의미합니다.

"a.[0-9]": a뒤에 한 문자와 숫자가 붙어 있는 패턴

"^.{3}$": 3문자로만 되어 있는 문자열

[]표현은 문자열의 해당 위치에 사용될 수 있는 문자를 표현하는데 사용합니다.

"[ab]": a또는 b ("a|b"와 동일한 표현);

"[a-d]": 소문자 'a'에서 'd'까지 ("a|b|c|d"또는 "[abcd]"와 동일);

"^[a-zA-Z]": 영문자로 시작하는 문자열

"[0-9]%": % 문자 앞에 하나의 문자가 붙어 있는 패턴

",[a-zA-Z0-9]$": 영문자, 숫자로 끝나는 문자열 패턴

[]에서 '^'를 표현의 가장 처음에 사용하면 나타나서는 안 되는 문자를 지정할 수 있습니다. (예> "%[^a-zA-Z]%" 두 % 사이에 영문자가 없는 패턴)

"^.[$()|*+?{"같은 특수 문자는 백슬레쉬('')를 사용해서 escape될 수 있습니다( 역자 주 : escape 이란 다른 말로 literal로 탈출한다라고 할 수 있습니다 즉 특수문자로 인식되지 않고 일반 문자로 인식되게 합니다). 사용하는 관점에서 보면 백슬레쉬도 PHP3의 문자열에서 escape되어야 하기 때문에 예를 들어 "($|?[0-9]+"같은 정규표현식은 ereg("(\$|?[0-9]+", $str) 와 같이 사용됩니다 (이 표현식은 무얼 검사하는 걸까요? ^^;(이건 역자가 한 말이 아닙니다))

하지만 []안에서는 특수문자가 모두 효력을 읽게 되기 때문에 이 법칙을 벗어남을 기억하세요 []안에서는 백슬레쉬를 포함한 모든 특수문자들이 그 힘을 읽습니다 (예> "[*+?{}.]"는 말그대로 '*', '', '+', '?', '{', '}', '.' 문자를 의미합니다. 그리고 regex man 페이지에 나오듯이 ']'문자 자체를 포함하려면 문자들 리스트의 첫 번째에 위치시킵니다('^'가 있으면 '^'뒤에). '-'를 포함하려면 첫 번째 또는 마지막 문자로 지정하고 '-'문자가 영역의 경계 (예> a에서 -까지)일 경우 영역지정 문자의 두 번째 경계로 지정([a--])합니다.

완벽한 설명을 하려면 대조 순서(collating sequences), 문자 클래스(character classes), 동일 클래스(equivalence classes)에 대해서도 다루어야 하지만 이 글에서는 별 상관관계가 없기 때문에 regex man 페이지를 참고하도록 합니다.



활용

(ja+)[a-zA-Z]*  :  ja로 시작하는 모든 문장을 찾습니다.

more..



* 정규식에 관한 것들
jakarta project 의 Regexp 패키지에 관한글  http://www.superuser.co.kr/jsp/jsp02/page24.htm
php에서의 정규식 http://blog.naver.com/hbini?Redirect=Log&logNo=80029262521
java의 공식적 정규식 문서 http://java.sun.com/developer/technicalArticles/releases/1.4regex/

2006년 10월 11일 수요일

날짜와 시간 추출하기...

[code type=java5]

public void createToday() {

//날짜생성
String patternDate = "yyyyMMdd";
sd = new SimpleDateFormat(patternDate);
this.date = sd.format(d);

//시간생성
String patternTime = "hh:mm:ss";
sd = new SimpleDateFormat(patternTime);
this.time = sd.format(d);
}

[/code]

2006년 10월 10일 화요일

반월 오프로드 경기장..

반월 오프로드 서킷(경기도 반월)



















*경기장 사진은 2003년 7월 12일 현재 코스 사진입니다.
* 위 치 = 경기도 반월
* 시 설 = 오프로드 전용코스, 220V사용전원, 콤프레셔, 피트
* 이용료 = 10,000원
* 가는방법 = 영동고속도로 반월TG를 빠져나가서 첫번째 신호등에서 좌회전후 2개의
신호등(육교통과)을 지나면서 우측에 위치
* 홈페이지 : http://www.panwoulpark.com/ <-- 접속안됨 -_-; 도메인 팔린듯..



from http://rcshop.com

DJ Java DeCompiler..

아래꺼보다 더 편리하고 괜찮은 툴..

설치하면 자동으로 class 파일에 어시스트 해준다..

더블클릭만 하면 오케~

http://dj.navexpress.com/download.htm

Java Decompiler.. MOCHA..


MOCHA - the Java decompiler - version beta 1


1. LEGAL CRAP

Mocha is copyright 1995, 1996 by Hanpeter van Vliet

Use at your own risk. I do not guarantee the fitness of Mocha for any purpose, and I do not accept responsibility for any damage you do to yourself or others by using Mocha.

The distribution archive (file "mocha-b1.zip") may be distributed freely, provided its contents ("mocha.zip" and this file, "readme.txt") are not tampered with in any way.

2. INSTALLATION

There is no need to unzip the "mocha.zip" file contained in the distribution zip file; Java knows how to get .class files out of zip files. Simply put "mocha.zip" in a safe place, for instance the JDK directory.

Add the full pathname of "mocha.zip" to your CLASSPATH string, for instance:

   SET CLASSPATH=c:\myclasses;c:\jdk\mocha.zip

3. INVOCATION

Mocha is invoked from the commandline (i.e. DOS box, if you're using Win95) like this:

   java mocha.Decompiler [-v] [-o] Class1.class Class2.class ...

Where
  "java"               invokes the Java virtual machine,
  "mocha.Decompiler"   (note the case!) specifies the class to run,
  "-v"                 optionally specifies verbose output,
  "-o"                 optionally overwrites existing .mocha files,
  "ClassX.class"       specifies the .class file(s) to decompile.

Wildcards (* and ?) are accepted.

4. SUPPORT

Mocha is quite useable but far from perfect, I know. It's only a beta, so be gentle with it! There may be cases where Mocha gets confused and it will tell you so. I will continue to improve Mocha to deal with such situations, and to keep up with evolving Java technology.

Improved versions of Mocha will first be made available on

   http://www.inter.nl.net/users/H.P.van.Vliet/mocha.htm

Problems can be reported via the form at

   http://www.inter.nl.net/users/H.P.van.Vliet/problem.htm


2006년 10월 9일 월요일

RC Car Buggy 경주 동영상..

Can't display this flash media



나도 콘트롤 연습좀 해야쥐..

경기장부터 찾고 쇼바도 좀 개조하공.. :)



강적...

원래는 나는 스릴러를 즐겨 본다..

근데 요즘 이상하게.. 스릴러보다는 액션이나 멜로(?)가 끌려서..

한국영화를 좋아하는 편이 아니지만.. 괜찮을꺼 같아서 봤다..



흠.. 소감은 볼만하다?

그렇게 가슴 와 닿지도 않고.. 그렇게 재미없지도 않고.. 시간때우기용으로는 괜찮다고 밖에.. 할수 없겠다.

요즘 나는 영화 불감증에 걸린거 같다 -_-..

제대로 된 스릴러를 보고싶다.. ㅜㅜ