当前位置:   article > 正文

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

常用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

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Gausst松鼠会/article/detail/630243
推荐阅读
相关标签
  

闽ICP备14008679号