String ss = "/admin/review/codeReview.action";
String ss = "/review/codeReview.action";上面是一个字符串的2种情况
我要通过正则或者其他方法 取到  review
谢谢。

解决方案 »

  1.   


    public static void main(String[] args) {
    String ss1 = "/admin/review/codeReview.action";
    String ss2 = "/review/codeReview.action";
    String reg = "(/\\w+)+(\\.action)";
    //String reg = "(/\\w+)+(\\.\\w+)";  //不管后缀名采用此
    System.out.println(ss1.matches(reg));
    System.out.println(ss2.matches(reg));
    }
      

  2.   

    取到 review??
    什么意思? 上面两个例子ss 期待什么结果?
      

  3.   


    怎么得到它的值呢?(review)谢谢.
      

  4.   


    得到 review这个字符串(review 可能是其他的字符串) 我只是举个例子..谢谢
      

  5.   

    你的需求是不是 要取得 “/codeReview.action” 之前的那个路径?直接根据 / 来进行反向查找就好了,把最后两个 / 之间的内容给 substring 出来。
      

  6.   


        public static void main(String[] args)
        {        List<String> list = new ArrayList<String>();
            list.add("/admin/123/codeReview.action");
            list.add("/admin/review/codeReview.action");
            list.add("/review/codeReview.action");
            String reg = "(?:/\\w+)*/(\\w+)(?:/\\w+\\.action)";        for (String ss : list)
            {
                Pattern p = Pattern.compile(reg);
                Matcher m = p.matcher(ss);
                if (m.matches())
                {
                    System.out.println(m.group(1));
                }
            }
        }
    这样?  说的不清楚,只有猜了...
      

  7.   


    String ss = "/admin/review/codeReview.action";
    String ss2 = "/review/codeReview.action";

    System.out.println(ss2.replaceAll(ss2.replaceAll("/\\w+?/\\w+?[.]action", ""),"").split("/")[1]);
      

  8.   


    其实我的要求没这么复杂......就是:如下
    String ss = "/admin/review/codeReview.action";
     
    上面这个字符串,我要取到review这一个字符串。 而且上面的字符串还有这种情况
    String ss = "/review/codeReview.action";
    也是要取到review这一个字符串。每次都只是一个字符串,不是list。 谢谢。
      

  9.   


                String ss1 = "/admin/review/codeReview.action";
                String ss2 = "/review/codeReview.action";
                String reg = "/(\\w+)(/\\w+)(\\.action)";
                Pattern p = Pattern.compile(reg);            
                Matcher m = p.matcher(ss1);
                if (m.find()){
                 System.out.println("group: " + m.group(1));            
                }
                m = p.matcher(ss2);
                if (m.find()){
                 System.out.println("group: " + m.group(1));            
                }
      

  10.   

    String ss = "/admin/review/codeReview.action";
    String[] s = ss.split("/");
    System.out.println(s[s.length-2]);这样好像也可以哦
      

  11.   

    你要取review做什么,是要判断这种字符串里有没有这个review吗?还是,你现在说的这种,意思就说要取review,很直接的,那方法就多了。这要看你两个字符串有规律没有。