解决方案 »

  1.   

    你贴出html 然后需要抓取哪些内容,给个例子。
      

  2.   

    贴出我的解决代码。实在是我的脑子锈住了。呵呵。解决办法很简单。Pattern pattern = Pattern
    .compile(
    "\\d*、[\\s\\p{Zs}]*([\\s|\\S]*?)<br[\\s\\p{Zs}]*/>[\\s\\p{Zs}]*" +
            "((?:&nbsp;){2,}([\\s|\\S]*?)<br[\\s\\p{Zs}]*/>[\\s\\p{Zs}]*" +
            "(?:&nbsp;)*总量:(?:<span[\\s\\p{Zs}]*class=\"word12_ora\">)*([0-9|.]*)(?:</span>)*(\\S*?)<br[\\s\\p{Zs}]*/>" +
            "[\\s\\p{Zs}]*(?:&nbsp;)*使用量(共享):(?:<span[\\s\\p{Zs}]*class=\"word12_ora\">)*([0-9|.|无]*)(?:</span>)*(\\S*)<br[\\s\\p{Zs}]*/>" +
            "[\\s\\p{Zs}]*(?:&nbsp;)*使用量(本号):(?:<span[\\s\\p{Zs}]*class=\"word12_ora\">)*([0-9|.]*)(?:</span>)*(\\S*)<br[\\s\\p{Zs}]*/>" +
            "[\\s\\p{Zs}]*(?:&nbsp;)*余[\\s\\p{Zs}]*量:(?:<span[\\s\\p{Zs}]*class=\"word12_ora\">)*([0-9|.]*)(?:</span>)*(\\S*)<br[\\s\\p{Zs}]*/>[\\s\\p{Zs}]*)*" 
            );

    Matcher  m = pattern.matcher(html);
    String str = null  ;
    String type = null;
    while (m.find()) {
    type = m.group(1);
    str = m.group(0);

    pattern = Pattern
    .compile(
            "(?:&nbsp;){2,}([\\s|\\S]*?)<br[\\s\\p{Zs}]*/>[\\s\\p{Zs}]*" +
            "(?:&nbsp;)*总量:(?:<span[\\s\\p{Zs}]*class=\"word12_ora\">)*([0-9|.]*)(?:</span>)*(\\S*?)<br[\\s\\p{Zs}]*/>" +
            "[\\s\\p{Zs}]*(?:&nbsp;)*使用量(共享):(?:<span[\\s\\p{Zs}]*class=\"word12_ora\">)*([0-9|.|无]*)(?:</span>)*(\\S*)<br[\\s\\p{Zs}]*/>" +
            "[\\s\\p{Zs}]*(?:&nbsp;)*使用量(本号):(?:<span[\\s\\p{Zs}]*class=\"word12_ora\">)*([0-9|.]*)(?:</span>)*(\\S*)<br[\\s\\p{Zs}]*/>" +
            "[\\s\\p{Zs}]*(?:&nbsp;)*余[\\s\\p{Zs}]*量:(?:<span[\\s\\p{Zs}]*class=\"word12_ora\">)*([0-9|.]*)(?:</span>)*(\\S*)<br[\\s\\p{Zs}]*/>"
            );
    Matcher  m2 = pattern.matcher(str.toString());