HTML을 받아서 파싱해서 데이터를 처리하려고 합니다..

대충

<div class="foo" id="123">
  <ul>
    <li class="bar">...</li>
  </ul>
</div>
<div class="foo" id="124">
  <ul>
    <li class="bar">...</li>
  </ul>
</div>
<div class="foo" id="125">
  <ul>
    <li class="bar">...</li>
  </ul>
</div>

이게 html 페이지 안에 있다고 가정하면 전 div id=125인 것 전체를, 그러니까

<div class="foo" id="125">
  <ul>
    <li class="bar">...</li>
  </ul>
</div>

이거만 얻으려고 하거든요
그래서 Pattern이랑 Regex를 사용했는데

String pattern = "<div class="foo" id="125">(.*)</div>";
Pattern stopPattern = Pattern.compile(pattern, Pattern.DOTALL);
Matcher matches = stopPattern.matcher(routeHTMLSrc);

여기까지 한 후

matches.group() 으로 확인하면 매치가 하나도 안된다고 나오네요...
분명 Pattern.DOTALL을 사용했는데도 왜 저게 안먹히는지...ㅠㅠ Pattern.MULTILINE 도 안먹힙니다...
이걸로 벌써 몇시간 사투네요...ㅠㅠ
HTML이다보니 라인 변환 처리를 잘 못한거같은데 어디가 잘못되었는지...
도움주시면 정말 감사하겠습니다..