可能重复:
Regex to match URL
给定一个字符串,我想知道它是否代表一个URL并获取网站名称,即“无论什么”。 例如,给定“http://google.com.sg”或“http://google.com.sg/”,我想返回字符串“google.com.sg”。
在Java中有这样一种巧妙的方法吗?
答案 0 :(得分:5)
有很多方法可以做到这一点,但是一个简单的正则表达式很容易出错。最好的办法是将它提供给现有的解析器,然后使用方法来提取所需的位,例如
import java.net.URL;
...
final URL url = new URL("http://google.com.sg/");
final String host = url.getHost();
答案 1 :(得分:-1)
如果你想要一个正则表达式,这里有一个:
String foo = "http://google.com";
String bar = foo.replaceAll("^http://", "");
if (bar.length() != foo.length()) {
System.out.println("Url: " + bar);
} else {
System.out.println("Not Url: " + foo);
}