Python正则表达式初识(一)

  • 时间:2018-09-22 22:51 作者:Python进阶学习交流 来源:Python进阶学习交流 阅读:534
  • 扫一扫,手机访问
摘要:首先跟大家简单唠叨两句为什么要学习正则表达式,为什么在网络爬虫的时候离不开正则表达式。正则表达式在解决字符串的时候扮演着非常重要的角色,在网络爬虫的时候也十分常用,大家可以把它学的简单少量,但是不能不学。虽然网络爬虫相关库给我们提供了丰富的库如css、bs4、lxml等等,让我们可以通过选择器去匹配

首先跟大家简单唠叨两句为什么要学习正则表达式,为什么在网络爬虫的时候离不开正则表达式。正则表达式在解决字符串的时候扮演着非常重要的角色,在网络爬虫的时候也十分常用,大家可以把它学的简单少量,但是不能不学。

Python正则表达式初识(一)

虽然网络爬虫相关库给我们提供了丰富的库如css、bs4、lxml等等,让我们可以通过选择器去匹配字符串,但是在HTML中数据往往存在标签之中。通过选择器的确可以匹配到标签的内容,但是有时候标签中存在的许多内容是冗余的,而我们只要要匹配其中部分内容就可(如匹配数字、时间等),如下图所示。通过选择器,我们一般可以获取到“782好笑”这个字符串,但是我们只要要“782”这个数字的话,此时正则表达式就要派上用场了

Python正则表达式初识(一)

正则表达式可以帮我们判断某个字符串能否符合某一个模式,其次正则表达式可以帮我们提取某个字符串中的重要部分,做子字符串的提取。今天简单的给大家讲解几个正则表达式的特殊字符—— “^”、“.”、“*”,并且用实例进行演示,让大家对正则表达式有个初步的理解。

小编用的Python是3版本,开发环境用的是pycharm,首先在本地新建一个demo.py文件,接下来开始进行演示。

1、正则表达式在Python中有个专门的库叫re板块,首先进行导入板块。再定义一个字符串str,而后定义一个正则表达式匹配规则regex。

2、“^d”代表的意思是以d元素开头的任意一个字符串,也就是说只需是以d开头的字符串,后面的元素不管是什么,都是符合规则的,总之必需要以d开头。

3、“.” 较为常用,其代表的意思是任意字符,其表示的范围非常广,可以接任意字符,不管是中英文,还是下划线之类的特殊字符,都是可以代表的。举个栗子,正则表达式“^d.”就是代表以d开头的字符串,b后边接任意字符都可以。

4、“*” 也十分常用,其代表的意思是前面的字符可以重复任意多遍,可以是0次,1次,2次等任意屡次。

5、理解好这几个特殊字符的用法之后,接下来通过代码简单的感受一下。如下图所示,假如匹配成功,则返回yes;假如没有匹配成功,则不返回任何东西。

Python正则表达式初识(一)

可以看到程序运行之后,返回的结果为yes,说明匹配成功。正则表达式“^d.*”代表的意思是以d开头的字符串,后面跟着任意字符,出现任意多遍。显然,通过匹配可以得知该正则表达式匹配的结果和原始字符串一致,之后if判断返回值为true,所以打印出结果为yes。

6、为了进一步验证这个模式能否正确,我们将b改为a,其代表的意思该模式下的字符串能否以a开头的。之后再次运行程序,如下图所示。

Python正则表达式初识(一)

此时可以看到无任何输出,说明特殊字符“^”起到了作用。

小伙伴们,快去打开Python,感受一下正则表达式的大法吧~~~

  • 全部评论(0)
最新发布的资讯信息
【系统环境|】Tiktok登录教程(2023-02-13 14:17)
【系统环境|】ZORRO佐罗软件安装教程及一键新机使用方法详细简介(2023-02-10 21:56)
【系统环境|】阿里云 centos 云盘扩容命令(2023-01-10 16:35)
【系统环境|】补单系统搭建补单源码搭建(2022-05-18 11:35)
【系统环境|服务器应用】高端显卡再度登上热搜,竟然是因为“断崖式”的降价(2022-04-12 19:47)
【系统环境|软件环境】一步步教你开发、部署第一个去中心化应用 - 宠物商店(2022-03-15 15:13)
【系统环境|软件环境】循序渐进!一文学会高性能开发十大必需掌握的核心技术。(2022-03-15 15:13)
【系统环境|软件环境】Python游戏开发,pygame模块,Python实现贪吃蛇小游戏(2022-03-15 15:13)
【系统环境|软件环境】Spring Cloud Feign 记录单个服务耗时并处理 Hystrix 线程隔离模式!(2022-03-15 15:13)
【系统环境|软件环境】js数组方法全解(2022-03-15 15:12)
血鸟云
手机二维码手机访问领取大礼包
返回顶部