从url中找到路径参数的正则表达式是什么?
http://localhost:8080/domain/v1/809pA8
https://localhost:8080/domain/v1/809pA8
想要使用正则表达式从上面的URL中检索值(809pA8),最好使用java。
答案 0 :(得分:4)
我建议你做一些像
这样的事情url.substring(url.lastIndexOf('/') + 1);
如果您真的更喜欢正则表达式,那么您可以
Matcher m = Pattern.compile("/([^/]+)$").matcher(url);
if (m.find())
value = m.group(1);
答案 1 :(得分:1)
我会尝试:
String url = "http://localhost:8080/domain/v1/809pA8";
String value = String.valueOf(url.subSequence(url.lastIndexOf('/'), url.length()-1));
我认为这里不需要正则表达式。
编辑:对不起,我犯了一个错误:String url = "http://localhost:8080/domain/v1/809pA8";
String value = String.valueOf(url.subSequence(url.lastIndexOf('/')+1, url.length()));
请参阅此处的代码:https://ideone.com/E30ddC
答案 2 :(得分:0)
对于你的简单案例,正如其他人所说,正则表达式是一种矫枉过正。但是,如果你有更多的案例,这就是你更喜欢正则表达式的原因,那么如果你正在使用Spring,请给出Spring AntPathMatcher#extractUriTemplateVariables的看法。它实际上更适合直接提取路径变量而不是正则表达式。 Here are some good examples