gpt4 book ai didi

java - 使用正则表达式解析 URL

转载 作者:行者123 更新时间:2023-11-30 06:50:50 24 4
gpt4 key购买 nike

我一直在尝试从字符串中解析地址,并且在选择字符串时取得了部分成功....

目前我有

Pattern regex = Pattern.compile("[/].*[a-zA-Z](?=\/|:|)", Pattern.DOTALL)

在输入字符串 https://www.google.com/ 上,当前模式让我得到 //www.google.com (这在某种程度上是正确的)但是当我尝试输入字符串时 https://www.google.com/search?q=Regular+Expressions&num=1000 它给了我 //www.google.com/search?q=正则+表达式&num

我想做的是解析地址,使其在 :/ 或空格之前结束

我也想出了

Pattern regex = Pattern.compile("[.*/][^/][a-z].*[a-zA-Z](?=\/|:|)", Pattern.DOTALL) 

它(部分)与 https://google.com:80 一起工作,给我 /google.com

我做错了什么?

最佳答案

试试这个正则表达式 ^.*?\/\/([^:\/\s]+) ,您要搜索的部分存储在组 1 中。

Pattern pattern = Pattern.compile("^.*?\\/\\/([^:\\/\\s]+)");
Matcher matcher = pattern.matcher("your input url");
while (matcher.find()) {
System.out.println("Domain: " + matcher.group(1));
}

编辑:通过匹配表达式前的 // 修复了额外的反斜杠问题。

关于java - 使用正则表达式解析 URL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40922207/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com