网络爬虫数据提取

本文介绍了Python内置的re模块,用于处理正则表达式。详细讲解了各种正则符号的含义,如.、[]、|、s等,并讨论了贪婪与非贪婪匹配的概念。同时,提到了re模块的方法,如match、find、findall、search和finditer,以及它们在处理字符串匹配时的应用。
摘要由CSDN通过智能技术生成
  1. 正则表达式(re模块

re模块为python的内置模块,不需要下载。

语法:

正则

. :通配符(除\n)

[]: 匹配 括号内的任意单个字符

|:表示或

\s:匹配 空格

\S:匹配 非空格

\w:匹配 字母

\W:匹配 非字母

\ :转义字符

\d:匹配 数字

\D:匹配 非数字

\b:匹配 单词边界

\B:匹配 非单词边界

^:表示字符串起始

$ :表示字符串结束

?:表示前一个字母存在一次或不存在

+:表示前一个字符出现至少一次

{m}:表示前一个字符出现m次

{m,}:表示前一个字符至少出现m次

{m,n}:表示前一个字符出现从m到n次

*:表示前一个字符出现(不限次数)或没出现

():对匹配到的字符串进行分组,方便提取。

(?P<名字>):对分的组进行取别名

\num:表示与第num组相同

贪婪和非贪婪:

python中默认是贪婪的。

贪婪:在一个字符串中,正则表达式的匹配符会尽可能多的进行匹配。如:用.*来匹配‘123456’,默认是会全部匹配上的。

非贪婪:在可能会尽可能多的匹配符后加上?就会变成非贪婪。如.*?匹配‘123456’,就会匹配到‘1’。

贪婪和非贪婪主要是在分组后组内写的,主要是确保提取的数据正好是我们想要的。

re模块使用:

re.match(正则表达式,字符串,参数):对字符串从头进行匹配,正则要能与从头开始算的字符串的一部分匹配上,返回该字符串。参数主要是re.S(让.匹配上\n)

re.find(正则表达式,字符串,参数):找到字符串中第一个能匹配正则的字符串,并返回该字符串。参数同上。

re.findall(正则表达式,字符串,参数):找出所有字符串中能匹配正则的字符串。返回值为一个装有所有字符串的列表。

re.search(正则表达式,字符串,参数):匹配整个字符串,并返回第一个成功的匹配。如果匹配失败,则返回None

re.finditer(正则表达式,字符串,参数):匹配整个字符串,返回一个迭代器,每个迭代元素是match对象,可以通过对象.group('别名')取出分组里的数据。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

追风的异乡人

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值