正则表达式匹配" http:// whatever /"在Java中

时间:2013-01-30 21:05:07

标签: java regex string

  

可能重复:
  Regex to match URL

给定一个字符串,我想知道它是否代表一个URL并获取网站名称,即“无论什么”。 例如,给定“http://google.com.sg”或“http://google.com.sg/”,我想返回字符串“google.com.sg”。

在Java中有这样一种巧妙的方法吗?

2 个答案:

答案 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);
    }