JAVA练习题41:贪婪爬取和非贪婪爬取

贪婪爬取和非贪婪爬取

只写+和*表示贪婪匹配。
+? 非贪婪匹配
*? 非贪婪匹配
贪婪爬取:在爬取数据的时候尽可能的多获取数据
非贪婪爬取:在爬取数据的时候尽可能的少获取数据
Java当中默认就为贪婪爬取

  1. 有如下文本,请按照要求爬取数据
    Java自从95年问世以来,abbbbbbbbbbbaaaaaaaaaaaaaa
    经历了很多版本,目前企业中用的最多的是Java8和Java11,因为这两个是长期支持的版本,下一个长期支持版本是Java17,相信在未来不久Java17也会逐渐登上历史舞台
    1. 需求1:按照ab+的方式提取ab,b尽可能多获取
    2. 需求2:按照ab+的方式提取ab,b尽可能少获取
package Test;

import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class FTest {
    public static void main(String[] args) {
        /*
         * 贪婪爬取和非贪婪爬取
         * 有如下文本,请按照要求爬取数据
         *         Java自从95年问世以来,abbbbbbbbbbbaaaaaaaaaaaaaa
         *         经历了很多版本,目前企业中用的最多的是Java8和Java11,因为这两个是长期支持
         * 的版本,下一个长期支持版本是Java17,相信在未来不久Java17也会逐渐登上历史舞台
         * 需求1:按照ab+的方式提取ab,b尽可能多获取
         * 需求2:按照ab+的方式提取ab,b尽可能少获取
         *
         *      只写+和*表示贪婪匹配。
         *      +?  非贪婪匹配
         *      *? 非贪婪匹配
         *  贪婪爬取:在爬取数据的时候尽可能的多获取数据
         *  非贪婪爬取:在爬取数据的时候尽可能的少获取数据
         *
         *  Java当中默认就为贪婪爬取
         *
         *    ab+:
         *    贪婪爬取:abbbbbbbbbbb
         *    非贪婪爬取:ab
         * */
        String str= "Java自从95年问世以来,abbbbbbbbbbbaaaaaaaaaaaaaa 经历了很多版本,目前企业中用的最多的是Java8和Java11,因为这两个是长期支持的版本,下一个长期支持版本是Java17,相信在未来不久Java17也会逐渐登上历史舞台";
        //需求1:
        String regex = "ab+";

        //需求2:
        String regex2 = "ab+?";

        Pattern p = Pattern.compile(regex2);
        Matcher m = p.matcher(str);
        while (m.find()){
            System.out.println(m.group());
        }
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值