Python爬虫系列:正则表达式(1)
2021年03月13日 23:29 __ _ _ _ _

这个世界是一面镜子,反射出来的是你自己的信念。
——《 生而不凡 》

大家在学会基本的Python爬虫后,会不会感觉还是挺简单的,那如果我们需要对爬取的内容进行检索或筛选数据呢?
这里就要用到小编给大家介绍的RE库,叫正则表达式,也是掌握爬虫必备的利器。
1.简介
简介:RE库(英文解释为 r egular e xpression,在代码中简写为regex或RE)是Python的标准库,主要用于字符匹配。
正则表达式使用字符串来描述、匹配一系列某个句法规则的字符串。在很多文本编辑器里,正则表达式通常被用来检索、替换那些匹配某个模式的文本。
2.为什么是正则表达式呢
对于使用正则表达式的好处,给小编感觉是简洁,但不易上手,平时用得也不多,主要是用在匹配字符串。
至于为什么是正则表达式,小编这里给大家列出关于使用正则表达式的优势:
1.通用的字符串表达框架。 2.简洁表达一组字符串的表达式。 3.针对字符串表达“简洁和“特征”思想的工具。 4.判断某字符串的特征属性。
3.正则表达式的语法
| 操作符 | 介绍 | 实例 |
|---|---|---|
| . | 表示任何单个字符 | 无 |
[] | 字符集,对单个字符给出取值范围 | [abc]表示a,b,c,[a-z]表示a到z单个字符
[^] | 非字符集,对单个字符给出排除范围 | [^abc]表示非a或非b或c的单个字符
*
| 前一个字符0次或无限次扩展 | abc*表示ab,abc,abcc,abccc等
+ | 前一个字符1次或无限次扩展 | abc+表示abc,abcc,abccc,等
? | 前一个字符0次或一次扩展 | bc?表示ab,abc
| | 左右表达式任意一个 | abc|def表示abc,def
{m} | 扩展前一个字符m次 | ab{2}c表示abbc
{m,n} | 扩展前一个字符m至n次(含n) | ab{1,2}c表示abc,abbc
^ | 匹配字符串开头 | ^abc表示abc且在一个字符串的开头
$ | 匹配字符串结尾 | abc$表示abc且在一个字符串的结尾
() | 分组标记,内部只能使用|操作符 | (abc)表示abc,(abc|def)表示abc或def
\d | 数字,等价于[0-9] | 无
\w | 单词字符,等价于[A-Za-z0-9_] | 无
代表实例:
| 正则表达式 | 对应字符串 |
|---|---|
| P(Y | YT |
| PYTHON+ | ‘PYTHON’,’PYTHONN’,’PYTHONNN’… |
| PY[TH]ON | ‘PYTON’,’PYHON’ |
| PY[^TH]?ON | ‘PYON’,’PYaON’,’PYbON’… |
| PY{:3}N | ‘PN’,’PYN’,’PYYN’,’PYYYN’ |
4.经典正则表达式实例
| 正则表达式 | 对应字符串 |
|---|---|
| ^[A-Za-z]+$ | 由26个字母组成的字符串 |
| ^[A-Za-z0-9]+$ | 由26个字母和数字组成的字符串 |
| ^-?\d+$ | 整数形式的字符串 |
| ^[0-9][1-9][0-9]$ | 正整数形式的字符串 |
| [1-9]\d{5} | 中国境内邮政编码,6位,[1-9]已经表示一位了,后面再加5位 |
| [\u4e00-\u9fa5] | 匹配正文字符 |
| \d{3}=\d{8} | \d{4}-\d{7} |
Python爬虫系列,未完待续…


为你,千千万万遍.
往期推荐:
洛谷 || 混合牛奶 Mixing Milk(贪心算法) 2021-03-12
const与指针交集的那些事 2021-03-11
二月碎碎念 || 寻找改变 2021-02-28
一键三连,就差你了
预览时标签不可点
阅读
__











