本帖最后由 VirusFu 于 2013-04-16 14:11:12 编辑

解决方案 »

  1.   

    如果就这么多,可以
    String s = "<table > aaa</table>.....<table>bbbb</table>......";
    Pattern pattern = Pattern.compile("<(\\S*?) [^>]*>.*?</\\1>|<.*? />");
    Matcher matcher = pattern.matcher(s);
    while (matcher.find()) {
    String s1 = matcher.group(0);
    System.out.println(s1);
    }
      

  2.   

    <(\\S*?) [^>]*>.*?</\\1>|<.*? />这是匹配一个标签的开始和结束之间的所有内容,matcher.group(0);获取第一个匹配结果
      

  3.   


    pattern = Pattern.compile(".*(<table.*>.*</table>).*");
    String str = "<table > aaa</table>......<table>bbbb</table>....";
    matcher = pattern.matcher(str);
    if (matcher.find()) {
    System.out.println(str.substring(matcher.start(1), matcher.end(1)));
    }