python(re模块爬虫专用)贪婪匹配和惰性匹配

本文介绍了正则表达式在爬虫中用于数据提取的基本技巧,包括点号(.)和量词(*)的使用,以及贪婪匹配和惰性匹配的概念。通过re.compile()函数将正则表达式转化为对象,并讲解了re.search()和re.match()的区别。同时,提到了正则表达式的标志如re.I、re.S等,帮助在不同场景下进行匹配。
摘要由CSDN通过智能技术生成

前言:

在我们写爬虫时请求网页之后常要提取数据 那么使用re模块正则表达式来> 提取数据是一个很好的办法。

这里只讲2中匹配技巧方法
一些小说明:
.(点):用来匹配任意非空格换行之类的字符
*:一个量词匹配多个或0个 类似于尽可能多的匹配
?: 一个量词匹配0个或1个 类似于尽可能少的匹配

贪婪匹配

.*: .后面加一个量词 * 那么就是尽可能多的匹配

惰性匹配

.? :当在 * 后面再加一个? 那么就是 ?修饰的前面. 那么就是说在 多出匹配的时候 我们取最近的

说的可能不是很清楚推荐个视频吧re模块视频

实际用法

  • re.compile(pattern[, flags])
    作用:把正则表达式语法转化成正则表达式对象
    flags定义包括:
    re.I:忽略大小写
    re.L:表示特殊字符集 \w, \W, \b, \B, \s, \S 依赖于当前环境
    re.M:多行模式
    re.S:’ . ’并且包括换行符在内的任意字符(注意:’ . ’不包括换行符)
    re.U: 表示特殊字符集 \w, \W, \b, \B, \d, \D, \s, \S 依赖于 Unicode 字符属性数据库
  • re.search(pattern, string[, flags])
    search (string[, pos[, endpos]])
    作用:在字符串中查找匹配正则表达式模式的位置,返回 MatchObject 的实例,如果没有找到匹配的位置,则返回 None。
  • match
    re.match(pattern, string[, flags])
    match(string[, pos[, endpos]])
    作用:match() 函数只在字符串的开始位置尝试匹配正则表达式,也就是只报告从位置 0 开始的匹配情况,而 search() 函数是扫描整个字符串来查找匹配。如果想要搜索整个字符串来寻找匹配,应当用 search()。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值