힘껏 차라

TFYQA

Archive for the ‘java’ Category

자바 정규식 예제

without comments

okjsp 에 올라온 정규식 문제를 가지고 좀 고민해보았다.

Q :
sdklfsdjf abc1c 2 3 s dadqqq sdlkfjslkjdfslkdjflk abcs f l ks jdfkjqqq sflksjdfk abcsd f sdfqqq sdfsf

이런 문자열이 있을 때

abc로 시작하면서 qqq로 끝나는 문자열들을 배열로 받고 싶어요

제가 원하는건
[0] abc1c 2 3 s dadqqq
[1] abcs f l ks jdfkjqqq
[2] abcsd f sdfqqq
이렇게 결과가 나와야 하는데

문제는 abc1c 2 3 s dadqqq sdlkfjslkjdfslkdjflk abcs f l ks jdfkjqqq sflksjdfk abcsd f sdfqqq

이렇게 나온다는거… -_-

A :
‘*’ or ‘+’ 같은 quantifier 는 패턴과 일치하는한 최대한 많은 문자를 취합니다( 영어로는 ‘greedy : 탐욕스러운, 게걸스러운’ 하다라고 표현하더군요 ) 그러므로 이 때는 ‘?’ 를 이용하여 non-greedy 하게 할 수 있습니다.( 여기 깔끔하게 정리되어 있네요. http://exampledepot.com/egs/java.util.regex/Greedy.html )

Pattern p = Pattern.compile(“abc.*?qqq”);

Q :
정규식으로 img src=이미지경로만 가져오는것 질문드립니다.

A :
검색해서 찾은 PHP 용으로 작성된 패턴을 Java 용으로 살짝 바꿔봤습니다.

Pattern p = Pattern.compile(“(?i)]*[src] *= *[\"\']{0,1}([^\"\'\\ >]*)”);
Matcher m = p.matcher(str);

while(m.find()) {
System.out.println(m.group(1));
}

Written by tzara

July 3, 2008 at 2:21 pm

Posted in Design & Development, java

Tagged with

Top Five Java Technologies to Learn in 2008

without comments

Manageability – Top Five Java Technologies to Learn in 2008

  1. Cloud Computing
  2. Groovy
  3. GWT
  4. JCR
  5. OSGI

Groovy, GWT, JCR 등이야 이미 출간된 책들도 있고 온라인 튜토리얼들도 많이 찾을 수 있지만 OSGi 와 Cloud Computing 가 좀 어려움이 있을텐데 다행히도 OSGi 관련해서는 마침 금번 JCO 자바컨퍼런스의 한 세션 잡혀있으니 그것 청강하거나 Spring 서적에서 관련 챕터들 찾아 정보 수집 가능할 듯 합니다(마소에서도 연재 있었던 것 같음).
Cloud Computing 이 정말 애매한데 위 글에 링크되어 있는 “Grid Gain Distributed JUnit“에 스크린캐스트 있으니 거라도 구경하면서 궁금증 해소하시길 …

Powered by ScribeFire.

Written by tzara

January 31, 2008 at 3:36 pm

Why are we not using Java EE 5

without comments

Why are we not using Java EE 5 ? by Antonio Goncalves

Java EE5 는 이전 버전에 비해 훨씬 쉬워지고 기능도 개선되었음에도 왜 왕무시 당하고 있는걸까?
필자인 Antonio Goncalves가 꼽은 이유를 요약해보면 다음과 같다.

  • application server의 불충분/미 지원.
  • 간편한 framework 의 시장 선점 그리고 Java EE 5 의 스펙에서 제시한 기능들이 이미 여타 framework 에 구현되어 있다는 점.
  • 네이밍 정책의 실패와 Java EE 정의의 애매함.
  • 여전한 테스팅의 어려움.

글 읽어보면 결국 적당한 여타의 프레임워크 선택하거나 대충 뭉기적거리다 Java EE 6으로 곧장 넘어가거나 해야될 듯.

Powered by ScribeFire.

Written by tzara

January 30, 2008 at 4:23 pm