读书人

正则表达式.多谢

发布时间: 2012-09-07 10:38:15 作者: rapoo

求一个正则表达式...谢谢
String ss = "/admin/review/codeReview.action";
String ss = "/review/codeReview.action";

上面是一个字符串的2种情况


我要通过正则或者其他方法 取到 review


谢谢。

[解决办法]

Java code
    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));    }
[解决办法]
Java code
    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));            }        }    }
[解决办法]
Java code
            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));                            }
[解决办法]
String ss = "/admin/review/codeReview.action";
String[] s = ss.split("/");
System.out.println(s[s.length-2]);

这样好像也可以哦。。。

读书人网 >J2EE开发

热点推荐