2009-09-08 8 views
0

HTML 문서를 구문 분석하고 반복 할 수있는 특정 div 블록을 추출합니다.Java + RegEx를 사용하여 HTML에서 특정 div를 추출합니다.

블록의 첫 번째 항목을 추출 할 수 있었지만 다음 단계를 수행하는 방법을 파악할 수 없습니다.

이 지금까지 내 코드는 다음과 같습니다

내가 구문 분석있어 문서 클래스 MY-CLASS 개 이상의 사업부 블록을 가지고
  String inputStr = HTTPGetter.get("http://someurl"); 
     String patternStr ="<div class=\"MY-CLASS\">(.*?)</div>"; 
     // Compile and use regular expression 

     Pattern pattern = Pattern.compile(patternStr); 
     Matcher matcher = pattern.matcher(inputStr); 
     boolean matchFound = matcher.find(); 

     if (matchFound) { 
      // Get all groups for this match 
      for (int i=0; i<=matcher.groupCount(); i++) { 
       String groupStr = matcher.group(i); 
      System.out.println("Group found:\n"+groupStr); 
      } 
     } else { 
      System.out.println("Not found"); 
     } 

. 나는 그들 모두를 얻고 싶다.

어떻게하면됩니까?

답변

4

그냥 while 루프 find()를 사용

while (matcher.find()) { 
    System.out.println("Group found:\n"+matcher.group(1)); 
} 

그것은 당신을 통해 반복 할 필요가일치하지 캡처 그룹입니다.

1

나는 강하게은 간단한 경우하지만 모든 regexps '에를 사용에 대해 추천 할 것입니다.

JTidy에서 HTML을 구문 분석하고 사용자가 조사 할 수있는 DOM 인터페이스를 제공합니다.

관련 문제