有个url:/result/last/location/{locationId}/*
如何通过 HttpServletRequest 用正则表达式把 {locationId} 中内容获取到
求教!!!!谢谢!!!!!
你可以通过 spring的注解@PathVariable来获得locationId
public Result method(@PathVariable String locationId)
你也可以通过string 的split来截取
public class Test{
public static void main(String[] args){
String url = "/result/last/location/{locationId}/*";
String result = getStr(url,"location");
System.out.println(result);
}
public static String getStr(String url,String key){
if(url == null || key == null){
return "";
}
String[] strs = url.split("/");
for(int i=0;i<strs.length;i++){
if(strs[i].equals(key)&&i<strs.length-1){
return strs[i+1];
}
}
return "";
}
}
“{[}]”
提取括号的内容的正则你试试看
@PathVariable 是比较好的方式
String str = “/result/last/location/{locationId}/*”;
String regex = "/\\{(\\w+)\\}/\\*";
Pattern p = Pattern.compile(regex);
Matcher m = p.matcher(str);
while(m.find()){
System.out.println(m.group());
}
不知道这样符不符合你的要求