안드로이드 개발 질문/답변
(글 수 45,052)
<a href="........................" >서울성모 병원 수녀원</a> <a href="................." ><img class="c" src="http://www.gstatic.com/m/images/stars/unstarred.gif" width="15" height="15" alt=""/></a> <br/><span>서울특별시 반포동 505</span> <br/><a class="b" href="tel:15881511" >1588-1511</a> <br/> </div> <div class="c0 a">
<a href="........................" >카톨릭의과대학우체국</a> <a href="................." ><img class="c" src="http://www.gstatic.com/m/images/stars/unstarred.gif" width="15" height="15" alt=""/></a> <br/><span>서울특별시 반포동 505</span> <br/><a class="b" href="tel:025330004" >02-533-0004</a> <br/> </div> <div class="c0 a">
..............
반복....
붉은 부분의 블록을 얻고 싶습니다. 중간에 파란 부분이 방해가 되는거 같은데....
<a href=(.*?)</a> <br/> </div> <div class="c0 a">
<a href=(.*<a href=.*)</a> <br/> </div> <div class="c0 a">
<a href=(.*?<a href=.*?)</a> <br/> </div> <div class="c0 a">
등등은 못찾네요.
...
...
..윽 이런. 글 수정하면서 그냥 해본 끝부분을 전화번호로 하니 되네요. 왜 위에건 못찾을까요??
<a href=(.*?)(\d{2,3}-|)\d{3,4}-\d{4}
<a href="........................" >카톨릭의과대학우체국</a> <a href="................." ><img class="c" src="http://www.gstatic.com/m/images/stars/unstarred.gif" width="15" height="15" alt=""/></a> <br/><span>서울특별시 반포동 505</span> <br/><a class="b" href="tel:025330004" >02-533-0004</a> <br/> </div> <div class="c0 a">
..............
반복....
붉은 부분의 블록을 얻고 싶습니다. 중간에 파란 부분이 방해가 되는거 같은데....
<a href=(.*?)</a> <br/> </div> <div class="c0 a">
<a href=(.*<a href=.*)</a> <br/> </div> <div class="c0 a">
<a href=(.*?<a href=.*?)</a> <br/> </div> <div class="c0 a">
등등은 못찾네요.
...
...
..윽 이런. 글 수정하면서 그냥 해본 끝부분을 전화번호로 하니 되네요. 왜 위에건 못찾을까요??
<a href=(.*?)(\d{2,3}-|)\d{3,4}-\d{4}
2010.08.13 12:46:39
만약 위의 형식에서 기관명과 전화번호만을 뽑아 내실 목적이라면
<div.*?>.*?<a.+?>(.+?)<\/a>.*?<a.+?>.*?<\/a>.*?<a.+?>(.*?)<\/a>.*?<\/div> 를 쓰시면 그룹 1에 기관명 그룹 2에 전번 나오겠네요.
코딩하면
이 되겠네요.
<div.*?>.*?<a.+?>(.+?)<\/a>.*?<a.+?>.*?<\/a>.*?<a.+?>(.*?)<\/a>.*?<\/div> 를 쓰시면 그룹 1에 기관명 그룹 2에 전번 나오겠네요.
코딩하면
Pattern ptn = Pattern.compile("<div.*?>.*?<a.+?>(.+?)<\\/a>.*?<a.+?>.*?<\\/a>.*?<a.+?>(.*?)<\\/a>.*?<\\/div>"); Matcher mch = ptn.matcher(html); while (mch.find()) { System.out.println("기관명 : " + mch.group(1)); System.out.println("전번 : " + mch.group(2)); }
이 되겠네요.
2010.08.13 13:19:05
Pattern.compile("<a href=(.*?)<div class=\\\"c0 a\\\">") 나 Pattern.compile("<a href=(.*?)<div class=\"c0 a\">") 도 역시 못넘어가네요,.
Pattern.compile("<a href=(.*?)(\\d{2,3}-|)\\d{3,4}-\\d{4}") 는 넘어가는데...
만들어주신 기관명 전화번호뽑는건 일단 복사해다가 해볼게요. 감사합니다.
Pattern.compile("<a href=(.*?)(\\d{2,3}-|)\\d{3,4}-\\d{4}") 는 넘어가는데...
만들어주신 기관명 전화번호뽑는건 일단 복사해다가 해볼게요. 감사합니다.
<a href=(.*?)<div class="c0 a"> 로 해도 될꺼 같은데요. 특수문자 이스케이핑 안하신거 아닌지요?
<a href=(.*?)<div class=\"c0 a\"> 로 표현 하셔야 합니다.
결국 정규식 스트링으로 하면 Pattern.compile("<a href=(.*?)<div class=\\\"c0 a\\\">") 이 되겠네요