温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

怎样用java regex抓取网址

发布时间:2026-10-04 19:46:09 来源:亿速云 阅读:86 作者:小樊 栏目:编程语言

在 Java 中,使用 正则表达式(regex) 抓取网址,通常步骤如下:


一、基本思路

  1. 定义匹配网址的正则表达式
  2. 使用 Pattern 和 Matcher
  3. 从文本中提取符合条件的网址

二、常用网址正则(较通用)

https?://[\\w./?=&%-]+

说明:

  • https?://:匹配 http 或 https
  • [\\w./?=&%-]+:匹配网址常见字符

三、Java 示例代码

import java.util.regex.*;
import java.util.*;

public class UrlExtractor {
    public static void main(String[] args) {
        String text = "访问 https://www.example.com/path?name=test 和 http://test.com 查看详情";

        String regex = "https?://[\\w./?=&%-]+";
        Pattern pattern = Pattern.compile(regex);
        Matcher matcher = pattern.matcher(text);

        List<String> urls = new ArrayList<>();
        while (matcher.find()) {
            urls.add(matcher.group());
        }

        urls.forEach(System.out::println);
    }
}

输出:

https://www.example.com/path?name=test
http://test.com

四、更严谨的网址正则(推荐)

如果你希望更规范一点:

(https?://)([\\w-]+\\.)+[\\w-]+(/[\\w./?=%&:-]*)?

五、注意事项

  1. 正则无法 100% 覆盖所有 URL 规范(RFC 很复杂)
  2. 如果是 HTML 页面,建议使用:
    • Jsoup
    • 专用 URL 解析库
  3. 避免贪婪匹配导致多抓字符

如果你有:

  • 特定文本格式
  • 只要某些域名
  • 从文件 / 网页抓取

可以告诉我,我可以帮你写更精准的正则和代码。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI
助
手