java基础概念37:正则表达式2-爬虫

embedded/2024/11/24 10:10:47/

一、定义

【回顾】正则表达式的作用

  • 作用一:校验字符串是否满足规则
  • 作用二:在一段文本中查找满足要求的内容——爬虫

二、本地爬虫VS网络爬虫 

2-1、本地爬虫

示例:

代码优化:

java">public static void main(String[] args) {// 大串String str = "Java自从95年问世以来,经历了很多版本,目前企业中用的最多的是Java8和Java11,因为这两个是长期支持版本,下一个长期支持版本是Java17,相信在未来不久|ava17也会逐渐登上历史舞台";// 获取正则表达式对象Pattern p = Pattern.compile("Java\\d{0,2}");// 获取文本匹配去对象Matcher m = p.matcher(str);while (m.find()){String s1 = m.group();System.out.println(s1);}}

2-2、网络爬虫

示例:

三、带条件爬取VS贪婪爬取VS非贪婪爬取

 3-1、带条件爬取

示例:

?=:意味着它用于匹配一个位置,该位置后面的字符序列能够匹配一个特定的模式,但本身不消耗任何字符。

3-2、贪婪爬取VS非贪婪爬取

  • 贪婪爬取:在爬取数据的时候尽可能的多获取数据;
  • 非贪婪爬取:在爬取数据的时候尽可能的少获取数据。

示例:

示例:

java">public static void main(String[] args) {String str = "Java自从95年问世以来,abbbbbbbbbbbbaaaaaaaaaaaaaaaaaa经历了很多版本,目前企业中用的最多的是!ava8和Java11,因为这两个是长期支持版本,下一个长期支持版本是Java17,相信在未来不久Java17也会逐渐登上历史舞台";// 贪婪爬取String regex = "ab+";Pattern p = Pattern.compile(regex);Matcher m = p.matcher(str);while (m.find()){// abbbbbbbbbbbbSystem.out.println(m.group());}// 非贪婪爬取String regex2 = "ab+?";Pattern p2 = Pattern.compile(regex2);Matcher m2 = p2.matcher(str);while (m2.find()){// abSystem.out.println(m2.group());}}

四、正则表达式在字符串方法中的使用

4-1、replaceAll方法

4-2、split方法


http://www.ppmy.cn/embedded/140100.html

相关文章

Level DB --- SkipList

class SkipList class SkipList 是Level DB中的重要数据结构,存储在memtable中的数据通过SkipList来存储和检索数据,它有优秀的读写性能,且和红黑树相比,更适合多线程的操作。 SkipList SkipList还是一个比较简单的数据结构&a…

接口设计中的数据精简技巧:提升效率与优化传输

文章目录 摘要引言数据精简的核心技术字段筛选数据压缩数据分页数据缓存 使用 ArkUI 和 ArkTS 实战示例字段筛选接口设计后端接口代码(伪代码)前端调用代码(ArkTS实现)ArkUI 界面实现数据压缩 实现逻辑详解字段筛选的实现逻辑数据…

Redis的基本使用命令(GET,SET,KEYS,EXISTS,DEL,EXPIRE,TTL,TYPE)

目录 SET GET KEYS EXISTS DEL EXPIRE TTL redis中的过期策略是怎么实现的(面试) 上文介绍reids的安装以及基本概念,本章节主要介绍 Redis的基本使用命令的使用 Redis 是一个基于键值对(KEY - VALUE)存储的…

HarmonyOs鸿蒙开发实战(20)=>一文学会基础使用组件导航Navigation

敲黑板,以下是重点技巧。文章末尾有实战项目效果截图及代码截图可参考 1.概要 Navigation是路由导航的根视图容器Navigation组件主要包含​导航页(NavBar)和子页(NavDestination),导航页不存在页面栈中&am…

Python数据结构之链表

一、链表 1、目的 解决顺序表存储数据有上限,并且插入和删除操作效率低的问题。 2、概念 链表:链式存储的线性表,使用随机的物理内存存储逻辑上连续的数据。 链表的组成:由一个个结点组成 结点:由数据域和链接域组…

用Python爬虫“偷窥”1688搜索词推荐:一场数据的奇妙冒险

在这个信息爆炸的时代,数据就像是藏在深海里的宝藏,等待着勇敢的探险家去发掘。今天,我们将化身为数据海盗,用Python作为我们的船只,航向1688的海域,去“偷窥”那些神秘的搜索词推荐。准备好了吗&#xff1…

观察者模式和订阅模式

观察者模式和订阅模式在概念上是相似的,它们都涉及到一个对象(通常称为“主题”或“发布者”)和多个依赖对象(称为“观察者”或“订阅者”)之间的关系。然而,尽管它们有相似之处,但在某些方面也…

深度学习每周学习总结J6(ResNeXt-50 算法实战与解析 - 猴痘识别)

🍨 本文为🔗365天深度学习训练营 中的学习记录博客🍖 原作者:K同学啊 | 接辅导、项目定制 目录 0. 总结ResNeXt基本介绍 1. 设置GPU2. 导入数据及处理部分3. 划分数据集4. 模型构建部分5. 设置超参数:定义损失函数&…