Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/logging/2.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 Regex从URL提取ip地址_Java_Regex - Fatal编程技术网

Java Regex从URL提取ip地址

Java Regex从URL提取ip地址,java,regex,Java,Regex,有谁能指导我编写regularexp,我将在java代码中使用它来从中提取ip http://10.22.14.152/something/api 预期结果:10.22.14.152 http://(.*?)/ 只是为了展示一种不同的方式来做到这一点,(尽管sweaver2112的答案要好得多) 您知道格式将是(http:)/(ipaddress)/(directory)/(directory)。。。您可以拆分/并获取数组中的3个元素以获取IP String url = "http://10

有谁能指导我编写regularexp,我将在java代码中使用它来从中提取ip
http://10.22.14.152/something/api

预期结果:10.22.14.152

 http://(.*?)/

只是为了展示一种不同的方式来做到这一点,(尽管sweaver2112的答案要好得多)

您知道格式将是(http:)/(ipaddress)/(directory)/(directory)。。。您可以拆分
/
并获取数组中的3个元素以获取IP

String url = "http://10.22.14.152/something/api";
String[] splitUp = url.split("/");
String ipAddress = splitUp[2];

可能想在http
http
之后加一个可选的
s?
,并使后面的斜杠也是可选的。为什么斯韦弗的答案会更好?我实际上更喜欢你的答案。正则表达式是资源密集型的。通常情况下,如果您不需要正则表达式的表现力,字符串操作(如拆分或子字符串)是一种更好的方法。@BramVanroy正则表达式是资源密集型的,是的,但对于这样一个小问题,它更容易阅读,并且最终用户不会注意到底线。我认为我的解决方案帮助更大,因为与使用正则表达式相比,您可以确切地看到发生了什么,但我认为在这种情况下,正则表达式实际上是更好的解决方案。。。当然,这是一种观点:)我最终使用java.net.URL来提取ip地址,这是一个XY问题。从URL获取主机的正确方法不是使用正则表达式,而是使用
新URI(string).getHost()