我记得jdk1.4regexp实现的只有贪婪匹配,不知现在是否改过,
不过你可以用Apache regexp可以解决这个问题,即有贪婪匹配,也有非贪婪匹配

解决方案 »

  1.   

    TRY IT,
    -------------------String yourStr = "<TR>……</TR><TR>……</TR><TR>……</TR><TR>……</TR>";
    Pattern pt1 = Pattern.compile( "(\\p{Punct}TR\\p{Punct}.*\\p{Punct}\\p{Punct}TR\\p{Punct})" );
    Pattern pt2 = Pattern.compile( "(\\p{Punct}TR\\p{Punct})|((\\p{Punct}\\p{Punct}TR\\p{Punct}))" );
    Matcher m1= pt1.matcher( yourStr );
    while (m1.find()){
    String tmp = yourStr.substring(m1.start(),m1.end());
    Matcher m2= pt2.matcher( tmp );
    System.out.println( m2.replaceAll(""));
    }