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());
        }
    }
}

这是贪婪爬取

非贪婪爬取:

相关推荐
田野追逐星光20 小时前
STL的容器vector的模拟实现
开发语言·c++
马猴烧酒.20 小时前
【JAVA数据传输】Java 数据传输与转换详解笔记
java·数据库·笔记·tomcat·mybatis
爱编码的傅同学21 小时前
【常见锁的概念】死锁的产生与避免
java·开发语言
Tansmjs21 小时前
实时数据可视化库
开发语言·c++·算法
我什么都学不会21 小时前
Python练习作业3
开发语言·python
rabbit_pro21 小时前
SpringBoot3使用PostGis+GeoTools整合MybatisPlus
java·spring
2401_8384725121 小时前
C++模拟器开发实践
开发语言·c++·算法
初九之潜龙勿用21 小时前
C# 操作Word模拟解析HTML标记之背景色
开发语言·c#·word·.net·office
froginwe1121 小时前
MySQL UNION 操作详解
开发语言
ruxshui21 小时前
Python多线程环境下连接对象的线程安全管理规范
开发语言·数据库·python·sql