Java爬虫

java 复制代码
package Pachong;

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

public class Regx {
    public static void main(String[] args) {
        String str ="Java自从95年问世以米,经历了很多版本,目前企业中用的最多的是Java8和Java11,"+
                "因为这两个是长期支持版本,下一个长期支持版本是Java17,相信在未来不久Java17也会逐渐登上历史舞台";
//        method1(str);
        Pattern p = Pattern.compile("Java\\d{0,2}");
        Matcher m = p.matcher(str);
        while (m.find()){
            String s1 = m.group();
            System.out.println(s1);
        }

    }

    private static void method1(String str) {
        //Pattern:表示正则表达式
        //Matcher:文本匹配器,作用按照正则表达式的规则去读取字符串,从头开始读取
        //获取正则表达式对象
        Pattern p = Pattern.compile("Java\\d{0,2}");
        //获取文本匹配器的对象
        //m:文本匹配器的对象
        //str:大串
        //p:规则
        //m要在石头人中找符合p规则的小串
        Matcher m = p.matcher(str);
        //拿着文本匹配器从头开始读取,寻找是否有满足规则的字串
        //如果没有,方法返回false
        //如果有,返回true。在底层记录字串的起始索引和结束索引+1
        //0,4
        boolean b = m.find();
        //方法底层会根据find方法记录的索引进行字符串的截取
        // substring(起始索引,结束索引);包头不包尾
        // (0,4)但是不包含4索引
        // 会把截取的小串进行返回
        String s1 = m.group();
        System.out.println(s1);
    }
}

有?:和没有这个代表的是衔接的意思

?!这个是不需要有后面的这些数字意思

abbbbbbbbbbbbbaaaaaaaaaaaaaa

贪婪爬取:在爬取数据的时候,尽可能的多获取数据 ab+

非贪婪爬取:在爬取数据的时候,尽可能的少获取数据 ab+?

分组

每组是有组号的,也就是序号

规则1:从1开始,连续不间断

规则2:以左括号为基准,最左边的是第一组,其次为第二组,以此类推

捕获分组:

后续还要继续使用本组数据

正则内部使用:\\组号

正则外部使用:$组号

非捕获分组:

分组之后不需要再用本组数据,仅仅是把数据括起来

相关推荐
李慕婉学姐几秒前
【开题答辩过程】以《智能小区物业管理系统设计与实现》为例,不知道这个选题怎么做的,不知道这个选题怎么开题答辩的可以进来看看
java·数据库·后端
njsgcs1 分钟前
用python打开exe 不闪退 0x01000000 # CREATE_BREAKAWAY_FROM_JOB
开发语言·python
m***06683 分钟前
Spring Framework 中文官方文档
java·后端·spring
橙露7 分钟前
全栈开发入门:Python Flask+Vue3 搭建前后端分离的博客系统
开发语言·python·flask
黎雁·泠崖9 分钟前
【魔法森林冒险】13/14 支线任务 & 计分系统:丰富性与结局
java·开发语言
SuniaWang9 分钟前
Spring AI 2.x 全面指南:架构升级、工具调用、多模型生态与实战示例
java·人工智能·后端·学习·spring·框架
闻哥10 分钟前
Elasticsearch查询优化实战:从原理到落地的全方位调优指南
java·大数据·elasticsearch·搜索引擎·面试·全文检索·springboot
sheji341613 分钟前
【开题答辩全过程】以 基于Java的甜品蛋糕网上商城的设计与实现为例,包含答辩的问题和答案
java·开发语言
智能零售小白白16 分钟前
零售多门店库存调拨优化:需求预测与路径规划的技术实现
java·开发语言·零售
前路不黑暗@18 分钟前
Java项目:Java脚手架项目的意义和环境搭建(一)
java·开发语言·spring boot·学习·spring cloud·maven·idea