Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/358.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在url中使用正则表达式查找路径参数_Java - Fatal编程技术网

Java 在url中使用正则表达式查找路径参数

Java 在url中使用正则表达式查找路径参数,java,Java,从url中查找路径参数的正则表达式是什么 http://localhost:8080/domain/v1/809pA8 https://localhost:8080/domain/v1/809pA8 要使用正则表达式从上述URL检索值(809pA8),最好使用java。我建议您执行以下操作 url.substring(url.lastIndexOf('/') + 1); 如果你真的喜欢正则表达式,你可以 Matcher m = Pattern.compile("/([^/]+)$").mat

从url中查找路径参数的正则表达式是什么

http://localhost:8080/domain/v1/809pA8
https://localhost:8080/domain/v1/809pA8

要使用正则表达式从上述URL检索值(809pA8),最好使用java。

我建议您执行以下操作

url.substring(url.lastIndexOf('/') + 1);
如果你真的喜欢正则表达式,你可以

Matcher m = Pattern.compile("/([^/]+)$").matcher(url);

if (m.find())
    value = m.group(1);

我建议你做些类似的事情

url.substring(url.lastIndexOf('/') + 1);
如果你真的喜欢正则表达式,你可以

Matcher m = Pattern.compile("/([^/]+)$").matcher(url);

if (m.find())
    value = m.group(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()));
请参阅此处的代码:

我将尝试:

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()));

请参见此处的代码:

对于您的简单示例,正如其他人所指出的,regex是一种过度使用。但是,如果您有更多的案例,这就是为什么您更喜欢正则表达式,如果您使用的是Spring,请让Spring看看。它实际上比直接使用正则表达式更好地提取路径变量

对于您的简单案例,正如其他人所指出的,正则表达式是一种过度使用。但是,如果您有更多的案例,这就是为什么您更喜欢正则表达式,如果您使用的是Spring,请让Spring看看。它实际上比直接使用正则表达式更好地提取路径变量

你试过什么了?你看过基于简单字符串函数的替代方法吗?请阅读user3157090。url是,还是?user3157090,你已经发布了49个问题,其中大多数问题的答案完全正确。你应该回去把最好的标记为已接受。你试过什么了?你看过基于简单字符串函数的替代方法吗?请阅读user3157090。url是,还是?user3157090,你已经发布了49个问题,其中大多数问题的答案完全正确。你应该返回并将最好的标记为已接受。更喜欢正则表达式。为什么?这个问题还不够复杂,不需要正则表达式。我更喜欢正则表达式。为什么?这个问题并不复杂到需要正则表达式。这是错误的,因为结束索引(子序列的第二个参数)是独占的。此解决方案遗漏了最后一个字符。那么,为什么要使用
CharSequence.subSequence
而不是
String.substring
?对于
String.substring
而言,结束索引是可选的(并且您不必使用
String.valueOf
)。这只是一种做事的方式,我之前的答案是关于字符串子字符串的,我认为最好给出另一种解决方案,而不是重复前面给出的解决方案。这是错误的,因为结束索引(subSequence的第二个参数)是独占的。此解决方案忽略了最后一个字符。因此,为什么要使用
CharSequence.subSequence
而不是
String.substring
?对于
String.substring
,结束索引是可选的(并且您不必使用
String.valueOf
).这只是一种做事的方式,我之前的答案是关于字符串子字符串的,我认为给出另一个解决方案比重复以前给出的解决方案更好。