正则表达式可从Java查找主机名

时间:2018-06-23 00:26:47

标签: java regex

class HostName{
    public static void main(String[] args){
        String url = "http://www.example.com:80/path/to/myfile.html?key1=value1&key2=value2";
        Pattern hostname = Pattern.compile(".*www.(.*).com");
        Matcher m1 = hostname.matcher(url);
        System.out.println("hostname: " + "" + m1);
    }
}

使用此代码,我试图从URL中获取主机名,在本例中为“示例”。

它编译成功,但是出现了这个错误:

hostname: java.util.regex.Matcher[pattern=.*www.(.*).com region=0,69 lastmatch=]

请帮助!

1 个答案:

答案 0 :(得分:4)

您正在打印Matcher的字符串表示形式。使用它来匹配模式并获取匹配的组

if (m1.find()) {
    System.out.println("hostname: " + m1.group(1));
}