类似于fesfe<tr><td>fefe</td></tr><tr><td>fefe</td></tr>fesf这样的字符串Pattern pat = Pattern.compile("<tr>(\\S*)</tr>");怎么才能获得<tr>...</tr> 而不是2组都得到了mather.groupcount不知道什么玩意,一点用都没有

解决方案 »

  1.   


    String str = "fesfe<tr><td>fefe</td></tr><tr><td>fefe</td></tr>fesf";
            Pattern pat = Pattern.compile("<tr>.+?</tr>");
            Matcher m = pat.matcher(str);
            while(m.find())
            {
                System.out.println(m.group());
            }
    <tr><td>fefe</td></tr>
    <tr><td>fefe</td></tr>
      

  2.   

    LZ 要搞清 Greedy和Reluctant
    一个是贪婪的、一个是勉强的
      

  3.   

    <tr>(\\S*?)</tr>
    mather.groupcount咋没用,你要不用的时候它当然是么用的,获得捕获组的数目,你的正则里有一个捕获组,所以这个方法返回1
      

  4.   

    楼主,什么叫“怎么才能获得<tr>...</tr> 而不是2组都得到了”?