正则表达式模式只在首次出现正斜杠之前找出字符串

时间:2017-01-09 11:40:36

标签: java regex

我无法创建一个只提供URL域名的正则表达式模式。

测试字符串是:

  

http://host.com/first/second

现在,从上面的字符串中,我只想让我的正则表达式找到:

  

http://host.com

直到正则表达式在字符串中找到第一个正斜杠出现。

提前致谢。

2 个答案:

答案 0 :(得分:1)

试试这个:

    (https?:\/\/)?(www\.)?\w+\.\w+

在此测试:https://regex101.com/r/1UQl9g/1

答案 1 :(得分:1)

您可以通过单个stashes((?<!\/)\/(?!\/) - 斜线未进行而不是斜线)进行拆分并使用第一部分:

String input = "http://host.com/first/second";
String[] parts = input.split("(?<!\\/)\\/(?!\\/)");
System.out.print(parts[0]);

演示:https://ideone.com/7Okn6C