java之贪婪爬取和非贪婪爬取

复制代码
public class RegexDemo6 {
    public static void main(String[] args) {
        String str="java自从95年问世以来,abbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaa" +
                " 经历了很多版本,目前企业中用的最多是java8和java11,"+
                "因为这俩个是长期版本,下一个长期支持版本是java17,相信在未来不就java17也会逐渐登上历史舞台";

        //贪婪爬取的意思就是要尽可能获取多的数据
        //非贪婪爬取的意思就是尽可能少的获取数据
        //贪婪爬取一般是在要爬取的数据后面加一个+号
        //非贪婪爬取一般是在要爬取的数据后面加一个+号和?号

        String regex="ab+";
        //利用正则表达式来获取到regex
        Pattern p = Pattern.compile(regex);
        //然后再用文本匹配器去获取
        Matcher m = p.matcher(str);
        //再用while循环去遍历
        while(m.find()) {
            System.out.println(m.group());
        }
    }
}

这是贪婪爬取

非贪婪爬取:

相关推荐
BUG研究员_8 小时前
Runnable与LCEL
开发语言·人工智能·python
码农颜8 小时前
5.4.1 锁分类
java·数据库·mysql
牛艺翔9 小时前
C++基础
开发语言·c++
键盘会跳舞9 小时前
C++ :容器适配器stack源码级拆解
开发语言·c++··stack·先进后出
linux-hzh9 小时前
百日算法修炼 · Day 03
java·算法
美味蛋炒饭.10 小时前
Git 版本控制(下)
开发语言·git·学习·总结·后端开发
我星期八休息10 小时前
网络编程—网络层
开发语言·前端·网络·人工智能·智能路由器
问商十三载10 小时前
RAG 检索效果差怎么排查?2026 五层诊断法完整指南
开发语言·人工智能·windows·python·算法
不负岁月无痕10 小时前
简单理解操作系统结构
java·linux·c语言·开发语言·c++·面试
mister_guo10 小时前
Java线程池参数应该如何设置(ThreadPoolExecutor)
java