Python正则表达式初识(一)
admin
2023-07-19 17:42:48
0

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


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,感受一下正则表达式的大法吧~~~


相关内容

热门资讯

“监委”年薪高达250万元!台... 海峡导报(记者 林连金) “废除台监察机构”旧话题再起,连日来占据岛内热搜,昨日2名“监委”被提名人...
香港科技大学举办数码艺术跨城市... 人民网香港6月16日电 (记者李霞)香港科技大学联同香港科技大学(广州)元宇宙与计算创意研究中心,举...
落子东南亚核心市场,讯飞医疗开... 讯飞医疗(2506.HK)发布自愿性公告,与印尼金光集团旗下 PT DSST Mas Gemilan...
原创 机... 现在的科技发展很快,机器人已经可以代替人类的部分工作。当机器人完全代替人类工作的时候,人类能进入共产...
科考船上的毕业典礼!“雪龙”号... 6月17日,“雪龙”号极地科考船甲板上青春涌动、朝气盎然。上海交通大学海洋学院70余名2026届本硕...
“事情成了,我就把功劳揽过来;... 据美国哥伦比亚广播公司(CBS)、美国国家广播公司(NBC)、《国会山报》等外媒报道,当地时间6月1...
特朗普跟马克龙久违亲密,特意要... 当地时间6月17日晚,法国总统埃玛纽埃尔·马克龙和夫人布丽吉特·马克龙,在位于巴黎郊外的凡尔赛宫举办...
4成美国人认为美国难再延续25... 美国即将独立250周年,路透社联合益普索进行的一项民调显示,2/5的美国人不相信美国能够再延续250...
女子在酒店遗失5万元金项链,包... 近日,上海的刘女士(化名)向记者反映,6月2日下午自己在上海某酒店宴会厅参加活动时,不慎将一个化妆包...
宇树科技、摩尔线程、沐曦股份…... 摩尔线程、沐曦股份、银河通用、星海图…… 这些人工智能领域的新老顶流,最近陆续加入国家人工智能应用中...