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

这是贪婪爬取

非贪婪爬取:

相关推荐
天文家10 分钟前
深入理解装饰器与适配器:从设计模式到 Spring AOP 的工程实践
java·设计模式
贺国亚15 分钟前
Spring-AI与LangChain4j
java·人工智能·spring
Cloud_Shy61816 分钟前
解读《Effective Python 3rd Edition》:从练气到老魔(第三章 Item 21 - 24)
开发语言·人工智能·笔记·python·迭代器模式
多彩电脑20 分钟前
Lua中的元表里的__index和__newindex
开发语言·lua
野生技术架构师29 分钟前
2026 Java面试宝典(春招/社招/秋招通用):没有前言,只有答案,直接开背
java·开发语言·面试
mN9B2uk1734 分钟前
数据库的约束简介
java·数据库·sql
AI人工智能+电脑小能手38 分钟前
【大白话说Java面试题 第99题】【Mysql篇】第29题:如何选择合适的分布式主键方案?
java·数据库·分布式·mysql·面试
极光代码工作室42 分钟前
基于SpringBoot的任务管理系统
java·springboot·web开发·后端开发
人道领域1 小时前
【LeetCode刷题日记】131.分割回文串,动态规划优化
java·开发语言·leetcode
z落落1 小时前
C# 接口 interface (多接口实现、类+接口、成员重名)
java·开发语言