玩转正则表达式
本文中介绍的是主要是 3 个知识点:
-
正则表达式的相关知识
-
Python的中re模块,主要是用来处理正则表达式 -
一个利用
re模块通过正则表达式来进行网页数据的爬取和存储

使用的系统 Python 版本和其他环境分别如下:
-
npython 3.7.5
-
MacOS
-
jupyter notebook
-
re # re 模块
-
requests 2.23.0 # 发送请求
1、正则表达式
1.1 正则表达式及作用
正则表达式的英文是 regular expression,通常简写为 regex、regexp 或者RE,属于计算机领域的一个概念。
正则表达式的主要作用是被用来进行文本的检索、替换或者是从一个串中提取出符合我们指定条件的子串,它描述了一种字符串匹配的模式 pattern 。
目前正则表达式已经被集成到了各种文本编辑器和文本处理工具中。
1.2 应用场景
-
验证:比如在网站中进行表单提交时,进行用户名及密码的验证
-
查找:从给定的文本信息中进行快速高效地查找与分析字符串
-
替换:将我们指定格式的文本进行查找,然后将指定的内容进行替换
1.3 网站
在这里介绍几个用来学习和测试正则表达式的网站:
1.菜鸟教程-正则表达式
https://www.runoob.com/regexp/regexp-tutorial.html
2.正则表达式在线测试工具
https://tool.oschina.net/regex/
3.GoRegex.cn
https://goregex.cn/
4.官方re模块学习
https://docs.python.org/zh-cn/3/library/re.html
5.正则表达式30分钟入门教程
https://deerchao.cn/tutorials/regex/regex.htm#mission
1.4 常用字符功能
先介绍常用正则表达式中几种特殊字符的功能:
字符类
| 字符 | 含义 | 例子 |
|---|---|---|
| . | 匹配任意一个字符 | ab.可以匹配abc或者abd |
| [ ] | 匹配括号中的任意1个字符 | [abcd]可以匹配ab、bc、cd |
| - | 在[ ]内表示的字符范围内进行匹配 | [0-9a-fA-F]可以匹配任意一个16进制的数字 |
| ^ | 位于[ ]括号内的开头,匹配除括号中的字符之外的任意1个字符 | [^xy]匹配xy之外的任意一个字符,比如[^xy]1可以匹配A1、B1但是不能匹配x1、y1 |
很多人学习python,不知道从何学起。
很多人学习python,掌握了基本语法过后,不知道在哪里寻找案例上手。
很多已经做案例的人,却不知道如何去学习更加高深的知识。
那么针对这三类人,我给大家提供一个好的学习平台,免费领取视频教程,电子书籍,以及课程的源代码!
QQ群:810735403
数量限定符
| 字符 | 含义 | 例子 |
|---|---|---|
| ? | 匹配前面紧跟字符的0次或者1次 | [0-9]?,匹配1、2、3 |
| + | 匹配前面紧跟字符的1次或者多次 | [0-9]+,匹配1、12、123等 |
| * | 匹配前面紧跟字符的0次或者多次 | [0-9]*,不匹配或者12、123 |

本文详述了Python中的正则表达式及其在文本处理中的应用,包括re模块的match、search、findall、sub和split等方法,并介绍了如何使用正则表达式进行网页数据的爬取。同时,列举了多个在线学习和测试正则表达式的资源。
最低0.47元/天 解锁文章
3968

被折叠的 条评论
为什么被折叠?



