当前位置: 首页 > news >正文

常用API(正则表达式、爬取、捕获分组和非捕获分组 )

1、正则表达式

练习——先爽一下正则表达式

正则表达式可以校验字符串是否满足一定的规则,并用来校验数据格式的合法性。

需求:假如现在要求校验一个qq号码是否正确。

规则:6位及20位之内,0不能在开头,必须全部是数字。

 1、先使用目前所学知识完成校验需求

2、然后体验一下正则表达式校验 

 2、正则表达式的作用

作用一:  校验字符串是否满足规则

作用二: 在一段文本中查找满足要求的内容

⭐⭐不需要记,可以通过API帮助文档,查找    类  Pattern   

 练习——请使用正则表达式完成如下需求

需求:请编写正则表达式验证用户输入的手机号码是否满足要求。

           请编写正则表达式验证用户输入的邮箱号是否满足要求。

           请编写正则表达式验证用户输入的电话号码是否满足要求。

①手机号码 

②座机电话号码 

③邮箱号码

练习——请使用正则表达式完成如下需求

需求

  • 请编写正则表达式验证用户是否满足要求。

               要求:大小写字母,数字,下划线一共4-16位

  • 请编写正则表达式验证身份证号码是否满足要求。
         1、简单要求:18位,前17位任意数字,最后一位可以是数字可以是大写或小写的x

         2、复杂要求:按照身份证号码的格式严格要求 

⭐⭐正则表达式小结

3、爬取

 ⭐练习1——本地爬虫和网络爬虫

有如下文本,请按照要求爬取数据。

     Java自从从95年问世以来,经历了很多版本,目前企业中用的最多的是Java8Java11,因为这两者是长期支持版本,下一个长期支持版本Java17,相信在未来不久Java17也会逐渐登上历史舞台

要求:找出里面所有的JavaXX 

 分析:

 练习2——有条件的爬取数据

有如下文本,请按照要求爬取数据。

     java自从从95年问世以来,经历了很多版本,目前企业中用的最多的是Java8JAva11,因为这两者是长期支持版本,下一个长期支持版本JAVa17,相信在未来不久JAVA17也会逐渐登上历史舞台

需求1:爬取版本号8,11,17的Java文本,但是只要Java,不显示文本号。

需求2:爬取版本号8,11,17的Java文本。正确爬取结果位:Java8 JAva11 JAVa17 JAVA17

需求3:爬取除了版本号8,11,17的Java文本。

 

3

 练习3——贪婪爬取和非贪婪爬取

有如下文本,请按照要求爬取数据。

     Java自从从95年问世以来,abbbbbbbbbbbaaaaaaaa

经历了很多版本,目前企业中用的最多的是Java8Java11,因为这两者是长期支持版本,下一个长期支持版本Java17,相信在未来不久Java17也会逐渐登上历史舞台

需求1:按照ab+的方式爬取ab,b尽可能多获取

需求2:按照ab+的方式爬取ab,b尽可能少获取

分析: 

 

 

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

 

5、捕获分组和非捕获分组 

组号的特点:

分组:分组就是一个小括号 

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

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

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

                              \ \组号:表示把第X组的内容再出来用一次

 练习——捕获分组的练习

 捕获分组(默认):可以获取每组中的内容反复使用。

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

正则内部使用:\\组号

正则外部使用:$组号

练习1

需求:   将字符串:我要学学编编编编程程程程程程

              替换为: 我要学编程 

非捕获分组: 

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

符号含义举例
(? :  正则)获取所有Java(?:8|11|17)
(? =  正则)获取前面部分Java(?=8|11|17)
(? !  正则)获取不是指定内容的前面部分Java(?!8|11|17)

练习2

相关文章:

常用API(正则表达式、爬取、捕获分组和非捕获分组 )

1、正则表达式 练习——先爽一下正则表达式 正则表达式可以校验字符串是否满足一定的规则,并用来校验数据格式的合法性。 需求:假如现在要求校验一个qq号码是否正确。 规则:6位及20位之内,0不能在开头,必须全部是数字…...

JVM学习-Class文件结构②

访问标识(access_flag) 在常量池后,紧跟着访问标记,标记使用两个字节表示,用于识别一些类或接口层次的访问信息,包括这个Class是类还是接口,是否定义为public类型,是否定义为abstract类型,如果…...

数据库连接项目

MySQL...

MySQL--InnoDB体系结构

目录 一、物理存储结构 二、表空间 1.数据表空间介绍 2.数据表空间迁移 3.共享表空间 4.临时表空间 5.undo表空间 三、InnoDB内存结构 1.innodb_buffer_pool 2.innodb_log_buffer 四、InnoDB 8.0结构图例 五、InnoDB重要参数 1.redo log刷新磁盘策略 2.刷盘方式&…...

ffplay 使用文档介绍

ffplay ffplay 是一个简单的媒体播放器,它是 FFmpeg 项目的一部分。FFmpeg 是一个广泛使用的多媒体框架,能够解码、编码、转码、复用、解复用、流化、过滤和播放几乎所有类型的媒体文件。 ffplay 主要用于测试和调试,因为它提供了一个命令行界面,可以方便地查看媒体文件的…...

四种网络IO模型

📝个人主页:五敷有你 🔥系列专栏:面经 ⛺️稳中求进,晒太阳 IO的定义 IO是计算机内存与外部设备之间拷贝数据的过程。CPU访问内存的速度远高于外部设备。因此CPU是先把外部设备的数据读取到内存,在…...

Mixed-precision计算原理(FP32+FP16)

原文: https://lightning.ai/pages/community/tutorial/accelerating-large-language-models-with-mixed-precision-techniques/ This approach allows for efficient training while maintaining the accuracy and stability of the neural network. In more det…...

Go 控制协程(goroutine)的并发数量

在使用协程并发处理某些任务时, 其并发数量往往因为各种因素的限制不能无限的增大. 例如网络请求、数据库查询等等。 从运行效率角度考虑,在相关服务可以负载的前提下(限制最大并发数),尽可能高的并发。 在Go语言中,…...

web安全渗透测试十大常规项(一):web渗透测试之CSRF跨站请求伪造

渗透测试之CSRF跨站请求伪造 CSRF跨站请求伪造 CSRF跨站请求伪造...

YOLOv10尝鲜测试五分钟极简配置

最近清华大学团队又推出YOLOv10,真是好家伙了。 安装: pip install supervision githttps://github.com/THU-MIG/yolov10.git下载权重:https://github.com/THU-MIG/yolov10/releases/download/v1.0/yolov10n.pt 预测: from ult…...

社交媒体数据恢复:聊天宝

请注意,本教程仅针对聊天宝应用程序,而非其他聊天软件。以下是详细的步骤: 首先,请确保您已经登录了聊天宝应用程序。如果您尚未登录,请使用您的账号登录。 在聊天宝主界面,找到您希望恢复聊天记录的对话框…...

备战秋招—模拟版图面试题来了

随着暑期的脚步逐渐临近,电子工程和集成电路设计领域的毕业生们,也将迎来了另一个求职的黄金期——秋招。我们总说机会是留给有准备的人。对于有志于投身于模拟版图设计的学子们来说,为了在众多求职者中脱颖而出,充分备战模拟版图…...

CAN总线简介

1. CAN总线概述 1.1 CAN定义与历史背景 CAN,全称为Controller Area Network,是一种基于消息广播的串行通信协议。它最初由德国Bosch公司在1983年为汽车行业开发,目的是实现汽车内部电子控制单元(ECUs)之间的可靠通信。…...

【HSQL001】HiveSQL内置函数手册总结(更新中)

1.熟悉、梳理、总结下Hive SQL相关知识体系。 2.日常研发过程中使用较少,随着时间的推移,很快就忘得一干二净,所以梳理总结下,以备日常使用参考 3.欢迎批评指正,跪谢一键三连! 文章目录 1.函数清单 1.函数清…...

Rust面试宝典第14题:旋转数组

题目 给定一个数组,将数组中的元素向右移动k个位置,其中k是非负数。要求如下: (1)尽可能想出更多的解决方案,至少有三种不同的方法可以解决这个问题。 (2)使用时间复杂度为O(n)和空间…...

解决SpringBoot中插入汉字变成?(一秒解决)

在这里url后面加一行配置即可&useUnicodetrue&characterEncodingUTF-8即可 解释 spring.datasource.url: 这里包含了数据库的URL,以及额外的参数如useUnicodetrue用于启用Unicode字符集支持,characterEncodingUTF-8用于指定字符编码为UTF-8&…...

5.26牛客循环结构

1002. 难点: 两层循环条件设置 思路 可以设置三个变量 代码 1003 思路: 与星号双塔差不多,在此基础上加大一点难度 每日练题5.23 (EOF用法)-CSDN博客 代码 1004 代码...

AIGC 004-T2I-adapter另外一种支持多条件组合控制的文生图方案!

AIGC 004-T2I-adapter另外一种支持多条件组合控制的文生图方案! 文章目录 0 论文工作1 论文方法2 效果 0 论文工作 T2I-Adapter 论文提出了一种名为 T2I-Adapter 的轻量级适配器模块,旨在增强文本到图像 (T2I) 扩散模型的语义理解和生成能力。 论文指出…...

详解 Cookies 和 WebStorage

Cookies 和 WebStorage Cookies 和 WebStorageCookies简要介绍操作 Cookies(document.cookie)不足之处 WebStorage简要介绍LocalStorage Vs. SessionStorage操作 WebStorage 三种数据存储方式的对比分析共性差异 REFERENCES Cookies 和 WebStorage Cook…...

BeanFactory、FactroyBean、ApplicationContext

BeanFactory Ioc容器、定义接口规范来管理spring bean的生命周期、依赖、注入,spring中有各种Ioc容器 FactroyBean 定制的工厂Bean,可以通过抽象工厂方式创建的bean,不纳入spring的生命周期、依赖、注入特性,相当于spring给第三…...

【Linux】C语言执行shell指令

在C语言中执行Shell指令 在C语言中&#xff0c;有几种方法可以执行Shell指令&#xff1a; 1. 使用system()函数 这是最简单的方法&#xff0c;包含在stdlib.h头文件中&#xff1a; #include <stdlib.h>int main() {system("ls -l"); // 执行ls -l命令retu…...

PPT|230页| 制造集团企业供应链端到端的数字化解决方案:从需求到结算的全链路业务闭环构建

制造业采购供应链管理是企业运营的核心环节&#xff0c;供应链协同管理在供应链上下游企业之间建立紧密的合作关系&#xff0c;通过信息共享、资源整合、业务协同等方式&#xff0c;实现供应链的全面管理和优化&#xff0c;提高供应链的效率和透明度&#xff0c;降低供应链的成…...

深入理解JavaScript设计模式之单例模式

目录 什么是单例模式为什么需要单例模式常见应用场景包括 单例模式实现透明单例模式实现不透明单例模式用代理实现单例模式javaScript中的单例模式使用命名空间使用闭包封装私有变量 惰性单例通用的惰性单例 结语 什么是单例模式 单例模式&#xff08;Singleton Pattern&#…...

电脑插入多块移动硬盘后经常出现卡顿和蓝屏

当电脑在插入多块移动硬盘后频繁出现卡顿和蓝屏问题时&#xff0c;可能涉及硬件资源冲突、驱动兼容性、供电不足或系统设置等多方面原因。以下是逐步排查和解决方案&#xff1a; 1. 检查电源供电问题 问题原因&#xff1a;多块移动硬盘同时运行可能导致USB接口供电不足&#x…...

【快手拥抱开源】通过快手团队开源的 KwaiCoder-AutoThink-preview 解锁大语言模型的潜力

引言&#xff1a; 在人工智能快速发展的浪潮中&#xff0c;快手Kwaipilot团队推出的 KwaiCoder-AutoThink-preview 具有里程碑意义——这是首个公开的AutoThink大语言模型&#xff08;LLM&#xff09;。该模型代表着该领域的重大突破&#xff0c;通过独特方式融合思考与非思考…...

Module Federation 和 Native Federation 的比较

前言 Module Federation 是 Webpack 5 引入的微前端架构方案&#xff0c;允许不同独立构建的应用在运行时动态共享模块。 Native Federation 是 Angular 官方基于 Module Federation 理念实现的专为 Angular 优化的微前端方案。 概念解析 Module Federation (模块联邦) Modul…...

土地利用/土地覆盖遥感解译与基于CLUE模型未来变化情景预测;从基础到高级,涵盖ArcGIS数据处理、ENVI遥感解译与CLUE模型情景模拟等

&#x1f50d; 土地利用/土地覆盖数据是生态、环境和气象等诸多领域模型的关键输入参数。通过遥感影像解译技术&#xff0c;可以精准获取历史或当前任何一个区域的土地利用/土地覆盖情况。这些数据不仅能够用于评估区域生态环境的变化趋势&#xff0c;还能有效评价重大生态工程…...

【C语言练习】080. 使用C语言实现简单的数据库操作

080. 使用C语言实现简单的数据库操作 080. 使用C语言实现简单的数据库操作使用原生APIODBC接口第三方库ORM框架文件模拟1. 安装SQLite2. 示例代码:使用SQLite创建数据库、表和插入数据3. 编译和运行4. 示例运行输出:5. 注意事项6. 总结080. 使用C语言实现简单的数据库操作 在…...

Java + Spring Boot + Mybatis 实现批量插入

在 Java 中使用 Spring Boot 和 MyBatis 实现批量插入可以通过以下步骤完成。这里提供两种常用方法&#xff1a;使用 MyBatis 的 <foreach> 标签和批处理模式&#xff08;ExecutorType.BATCH&#xff09;。 方法一&#xff1a;使用 XML 的 <foreach> 标签&#xff…...

LINUX 69 FTP 客服管理系统 man 5 /etc/vsftpd/vsftpd.conf

FTP 客服管理系统 实现kefu123登录&#xff0c;不允许匿名访问&#xff0c;kefu只能访问/data/kefu目录&#xff0c;不能查看其他目录 创建账号密码 useradd kefu echo 123|passwd -stdin kefu [rootcode caozx26420]# echo 123|passwd --stdin kefu 更改用户 kefu 的密码…...