当前位置: 首页 > 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

http://www.lryc.cn/news/353975.html

相关文章:

  • JVM学习-Class文件结构②
  • 数据库连接项目
  • MySQL--InnoDB体系结构
  • ffplay 使用文档介绍
  • 四种网络IO模型
  • Mixed-precision计算原理(FP32+FP16)
  • Go 控制协程(goroutine)的并发数量
  • web安全渗透测试十大常规项(一):web渗透测试之CSRF跨站请求伪造
  • YOLOv10尝鲜测试五分钟极简配置
  • 社交媒体数据恢复:聊天宝
  • 备战秋招—模拟版图面试题来了
  • CAN总线简介
  • 【HSQL001】HiveSQL内置函数手册总结(更新中)
  • Rust面试宝典第14题:旋转数组
  • 解决SpringBoot中插入汉字变成?(一秒解决)
  • 5.26牛客循环结构
  • AIGC 004-T2I-adapter另外一种支持多条件组合控制的文生图方案!
  • 详解 Cookies 和 WebStorage
  • BeanFactory、FactroyBean、ApplicationContext
  • 【计算机网络】HTTPS 协议原理
  • springboot + Vue前后端项目(第十二记)
  • linux 常用命令:find grep ps netstat sudo df du rm
  • SQLiteOpenHelper数据库帮助器
  • 2024年5月26日 (周日) 叶子游戏新闻
  • STM32-10-定时器
  • 今天说的什么好呢
  • 计算机网络-Traffic-Filter流量过滤策略
  • 小白入职 必要熟悉 Git / tortoiseGit 工具
  • 春秋CVE-2022-23906
  • JavaFX安装与使用