需要从这段html代码中提取表格中的动态数据  如代码中的63、1、62    求问用来匹配的正则表达式该怎么写?
<table class="pane" id="analysis.summary"><tr><td class="pane-header">Total</td><td class="pane-header">High Priority</td><td class="pane-header">Normal Priority</td><td class="pane-header">Low Priority</td></tr><tbody><tr><td class="pane">63</td><td class="pane"><a href="HIGH">1</a></td><td class="pane"><a href="NORMAL">62</a></td><td class="pane">
              0
            </td></tr></tbody></table>

解决方案 »

  1.   

    可以使用jquery来定位到<tbody>再选择其下的<tr>,<td>中的文本内容。
      

  2.   

    首先可以建议你用XML来解析,这样思路清晰。
    如果你硬要正则表达式的话,会比较麻烦,我分析了下你的内容63是<td class="pane">的text;1是<td class="pane">下的<a href="HIGH">的text;62是<td class="pane">下的<a href="NORMAL">的text;你会发现每个都不一样,还不能保证不会出现第4种情况。这个正则会很长,而且只能提取到类似<td class="pane">63</td>这样一个字符串,还得从这个字符串里进行再次解析出62如果你是用XML来解析的话,那就简单多了,而且不当心上述提到的第4种情况,1、查找class等于"pane"的所有td;2、判断这个td下是否有a标签,有则提取a标签里的text,如果没有则提取td标签里的text
      

  3.   


    就是会很长  蛮想尝试用其他方法   请问下xml解析能提供例子么 非常感谢 比较急  
      

  4.   

    希望对你有用 public static void main(String[] args) throws Exception {
    String str = "<td class=\"pane\">63</td><td class=\"pane\"><a href=\"HIGH\">1</a></td><td class=\"pane\"><a href=\"NORMAL\">62</a></td>";
    Matcher m = Pattern.compile("<td.*?>.*?([0-9]+).*?</td>").matcher(str);
    while(m.find()){
    System.out.println(m.group(1));
    }
    }
      

  5.   

    String ss = "<td class>63</td>";
    Pattern p = Pattern.compile("\\>(\\d+)\\<");
    Matcher m = p.matcher(ss);
    while(m.find()){
    System.out.println(m.group(1));
    }简单例子,楼主可以自己酌情修改.
      

  6.   

    在java类中这样可以,但是js不会 /**
     * @param args
     */
    public static void main(String[] args) {

    String html = "<table class='pane' id='analysis.summary'><tr><td class='pane-header'>Total</td><td class='pane-header'>High Priority</td><td class='pane-header'>Normal Priority</td><td class='pane-header'>Low Priority</td></tr><tbody><tr><td class='pane'>63</td><td class='pane'><a href='HIGH'>1</a></td><td class='pane'><a href='NORMAL'>62</a></td><td class='pane'>0</td></tr></tbody></table>";

    String str[] = html.replaceAll("[^0-9]", ",").split(",");

    for(String s : str) {

    if(!"".equals(s)) {

    System.out.println(s);
    }

    }

    }
      

  7.   

    建议 楼主去看一下 jsoup解析,至于你的问题不是三言两语能说清楚的。
      

  8.   

    知道方式很多。像htmlparser,好像 python也可以实现 但因为赶时间   就没有在现在换用其他方法了  jsoup听过  以后研究研究   谢谢建议啦~