求一个正则表达式...谢谢
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]);
这样好像也可以哦。。。