안드로이드 개발 질문/답변
(글 수 45,052)
안녕하세요?
자바 정규표현식을 사용 해서 원하는 문자열만 가지고 오고 싶은데 좀 처럼 잘 안되네요
Rss리더를 만드는 중인데
<link rel="stylesheet" href="http://blog.livedoor.jp/altemawx-dream/site.css" type="text/css" /><link rel="alternate" type="application/rss+xml" title="RSS" href="http://blog.livedoor.jp/altemawx-dream/index.rdf" />
http://blog.livedoor.jp/altemawx-dream/index.rdf <- 이 부분만 가지고 오고 싶은데 잘 안되네요.
직접 작성 한 정규표현식으론
Pattern p =Pattern.compile("<link(.+?)\"application\\/rss\\+xml\"(.+?)/>");
String readLine = null;
while((readLine=br.readLine())!=null) {
Matcher m = p.matcher(readLine.toLowerCase());
if(m.matches()) {
System.out.println(rssLink);
}
}
이렇게 작성을 하였는데 뭐가 문젠지 잘 모르겠습니다.
정규표현식 고수님들 조언 좀 부탁드립니다.
2012.05.07 16:17:15
블로그 하나만 하고 있는게 아니라서요.
유저가 직접 블로그를 검색 해서 블로그를 추가 하는 방식으로 하고 있습니다.
그래서 html에서 <link rel="alternate" type="application/rss+xml" title="rss" href="이 부분 주소" />
이 부분이 필요 합니다. "이 부분 주소"라는 부분을 문자열 매칭 해서 그 안에 있는 rss2.0안에 있는 xml을 파싱하고 있네요.
<link rel="stylesheet" href="http://blog.livedoor.jp/altemawx-dream/site.css" type="text/css" />
<link rel="alternate" type="application/rss+xml" title="rss" href="http://blog.livedoor.jp/altemawx-dream/index.rdf" />
위에 처럼 엔터가 있으면 정규표현식이 잘되는데 질문란 처럼 붙어 있으면 문자열 매칭이 안되고 있습니다.




RSS 리더면 정규식으로 하시지말고
XmlPullParser 라는 파싱 라이브러리를 사용해보세요
XML 의 데이터를 뽑아내는데 매우 효과적인 성능과 사용을 제공해주고 있습니다.