非常简单的正则表达式问题

Sun*_*il 9 java regex

我有一个非常简单的正则表达式问题.假设我有两个条件:

  1. url = http://www.abc.com/cde/def
  2. url = https://www.abc.com/sadfl/dsaf

如何使用正则表达式提取baseUrl?

样本输出:

  1. http://www.abc.com
  2. https://www.abc.com

SLa*_*aks 8

像这样:

String baseUrl;
Pattern p = Pattern.compile("^(([a-zA-Z]+://)?[a-zA-Z0-9.-]+\\.[a-zA-Z]+(:\d+)?/");
Matcher m = p.matcher(str); 
if (m.matches())
    baseUrl = m.group(1);
Run Code Online (Sandbox Code Playgroud)

但是,您应该使用URI该类,如下所示:

URI uri = new URI(str);
Run Code Online (Sandbox Code Playgroud)