项目要用java和正则表达式进行解析html的内容,谁能帮我写段匹配表格table的,不且该table里面没有嵌套table的,能否把这样的表格内容匹配出来比如
<html>...
<table align="center" border="0" id="table1">
<tr>
<td align="center">
<tabld id="table2">...</table>
</td>
<td align="center">
<tabld id="table3">...</table>
</td>
..
</table>
</html>想用正则表达式把table2和table3找出来,但是不能把table1也取出来,哪位大哥能帮忙下

解决方案 »

  1.   

    只能改改你这个实际使用可能还要修改。import java.util.regex.Matcher;
    import java.util.regex.Pattern;public class Test5 { /**
     * @param args
     */
    public static void main(String[] args) {
    // TODO Auto-generated method stub
    String str ="  <html>...\n" +
    "<table align=\"center\" border=\"0\" id=\"table1\">\n" + 
    "<tr>\n" + 
    "<td align=\"center\">\n" + 
    "<table id=\"table2\">...</table>\n" + 
    "</td>\n" + 
    "<td align=\"center\">\n" + 
    "<table id=\"table3\">...</table>\n" + 
    "</td>\n" + 
    "<td align=\"center\">\n" + 
    "<table id=\"table4\">" +
    "<tr><td>xxxxx<p></p></td></tr>" +
    "</table>\n" + 
    "</td>\n" +
    "..\n" + 
    "</table>\n" + 
    "</html>"; Pattern p = Pattern.compile("(<table\\s*id=\"table[^1]\"\\s*>.*</table>)",Pattern.MULTILINE);

    Matcher m = p.matcher(str);

    while (m.find()) {
    System.out.println(m.group(1));
    }
    }}
      

  2.   

    这个还真不行,我那html代码是比如,实际中table的标签有的是没有id属性的
      

  3.   

    html中怎样把里面不嵌套table的table表格用正则表达式匹配出来?哪位大哥能帮忙下,在此不胜感激!
      

  4.   

    <table(.*?)>(.*?)<\/table>
      

  5.   

    <html>
        <head>
            <title>test</title>
            <script type="text/javascript">
                window.onload = function(){
                    var str = document.getElementById('test').innerHTML;
                    var reg = /<table[^>]*>(?:(?!<table)[\S\s])*?<\/table>/g;
    var s = str.match(reg);
    for(var i in s) {
    alert(s[i])
    }
                };
            </script>
        </head>
        <body>
            <div id="test">
                <table align="center" border="0" id="table1">
                    <tr>
                        <td align="center">
                            <table id="table2">
                                <tr>
                                    <td>
                                        111
                                    </td>
                                </tr>
                            </table>
                        </td>
                        <td align="center">
                            <table id="table3">
                                <tr>
                                    <td>
                                        222
                                    </td>
                                </tr>
                            </table>
                        </td>
                    </tr>
                </table>
            </div>
        </body>
    </html>