前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Python爬虫系列:正则表达式(1)

Python爬虫系列:正则表达式(1)

作者头像
小Bob来啦
发布2021-03-24 16:59:39
5990
发布2021-03-24 16:59:39
举报

大家在学会基本的Python爬虫后,会不会感觉还是挺简单的,那如果我们需要对爬取的内容进行检索或筛选数据呢?

这里就要用到小编给大家介绍的RE库,叫正则表达式,也是掌握爬虫必备的利器。

1.简介

简介:RE库(英文解释为regular expression,在代码中简写为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|YTH|YTHO)?N

'PN'、'PYN','PYTN','PYTHN','PYTHON'

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}

国内电话号码,010-68913536

Python爬虫系列,未完待续...

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2021-03-13,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 程序员Bob 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档