- 0
- 0
- 约2.51千字
- 约 26页
- 2026-01-15 发布于陕西
- 举报
Python爬虫正则表达式
目录010203什么是正则表达式常用匹配规则常用匹配方法
用requests库获取网页的HTML代码,如何从中获取想要的信息呢?问题:
打开开源中国提供的正则表达式测试工具:/regex/待匹配的文本:Hello,myphonenumberis010andemailiscqc@,andmywebsiteis
正则表达式是处理字符串的强大工具,它有自己特定的语法结构,有了它,实现字符串的检索、替换、匹配验证都不在话下。正则表达式
常用匹配规则
常用匹配规则注意:正则表达式不是Python独有的,它也可以用在其他编程语言中。但是Python的re库提供了整个正则表达式的实现,利用这个库,可以在Python中使用正则表达式。
1、match2、search3、findall4、sub5、compile常用匹配方法
—传入要匹配的字符串以及正则表达式,就可以检测这个正则表达式是否匹配字符串—规则:从字符串的起始位置匹配正则表达式,如果匹配,就返回匹配成功的结果;如果不匹配,就返回Nonematch方法
—实例演示:字符串匹配—输出结果:Match对象group方法:输出匹配到的内容span方法:输出匹配的范围match方法
练习:对给定字符串进行匹配要求:使用正则表达式进行匹配,只提取到电话号码结束,并输出匹配范围待匹配字符串:MyphonenumberisandmynameisPennymatch方法
思考:刚才我们用match方法可以得到匹配到的字符串内容,如果想从字符串中提取一部分内容,怎么办?1、匹配目标—使用括号()将想提取的子字符串括起来—实例演示match方法
2、通用匹配—.*—“.”可以匹配任意字符(除换行符)—“*”代表匹配前面的字符无限次—“.”与“*”组合匹配任意字符—实例演示match方法
3、贪婪与非贪婪1)贪婪匹配—.*会匹配尽可能多的字符—实例演示,观察输出结果思考:这样的匹配方法有什么缺点?导致某些时候匹配结果会莫名缺少一部分match方法
2)非贪婪匹配—.*?—尽可能匹配少的字符—实例演示—注意:①在做匹配的时候,字符串中间尽量使用非贪婪匹配,以免出现匹配结果缺失的情况。②如果匹配的结果在字符串结尾,.*?就有可能匹配不到任何内容了,因为它会匹配尽可能少的字符。match方法
3)修饰符—用一些可选标志修饰符来控制匹配的模式—实例演示,观察输出结果AttributeError—思考:导致异常的原因是什么?—解决方法:加一个修饰符re.S修正后再次运行match方法
常用修饰符re.I:使匹配对大小写不敏感re.L:做本地化识别(locale-aware)匹配re.M:多行匹配,影响^和$re.S:使匹配包括换行在内的所有字符re.U:根据Unicode字符集解析字符。这个标志影响\w、\W、\b和\Bre.X:该标志通过给予你更灵活的格式以便你将正则表达式写得更易于理解注:在网页匹配中,较为常用的有re.S和re.Imatch方法
4、转义匹配—当遇到用于正则匹配模式的特殊字符时,在前面加反斜线转义一下即可—实例演示match方法
match方法在使用时需要考虑到开头的内容,这在做匹配时并不方便。它更适合用来检测某个字符串是否符合某个正则表达式的规则。如果想要得到匹配内容,怎么办?—实例引入,观察输出结果思考:
—匹配时会扫描整个字符串,然后返回第一个成功匹配的结果—规则:在匹配时,search方法会依次扫描字符串,直到找到第一个符合规则的字符串,然后返回匹配内容,如果搜索完了还没有找到,就返回None。—实例演示search方法
—用法实例:给定一段待匹配的HTML文本①提取class为active的li节点内部的超链接包含的歌手名和歌名②不加active(也就是匹配
您可能关注的文档
- 直播复盘WORK73课件讲解.pptx
- 直播筹备授课XXX授课时间XXX07课件讲解.pptx
- 直播筹备授课XXX授课时间XXX07课件讲解.pptx
- 直播策划授课XXX授课时间XXX28课件讲解.pptx
- 直播策划二33课件讲解.pptx
- 直播策划二33课件讲解.pptx
- 执行验收管理确保投产安全Implementacceptancemanagementtoensureproductionsafety73课件讲解.pptx
- 织造印染类非遗概述94课件讲解.pptx
- 知识目标掌握RFID技术概念与系统组成逻辑概念认知理解技术特点与工作原理信号交互流程技术认知熟悉多领域应用及物联网开发价值应用认知了解技术发展趋势与跨技术融合方向趋势认知27课件讲解.pptx
- 知识点1认识母种1什么是母种2从何而来3可用于何处42课件讲解.pptx
- 七年级语文上册期末模拟试卷1(解析版).docx
- 七年级语文上册期末模拟试卷1(原卷版).docx
- 七年级语文上册期末模拟试卷2(原卷版).docx
- 七年级语文上册期末模拟试卷2(解析版).docx
- 期末测试卷(二)(解析版)2024—2025学年七年级语文上册期末测试卷(全国版).docx
- 期末测试卷(三)(解析版)2024—2025学年七年级语文上册期末测试卷(全国版).docx
- 期末测试卷(二)(原卷版)2024—2025学年七年级语文上册期末测试卷(全国版).docx
- 期末测试卷(三)(原卷版)2024—2025学年七年级语文上册期末测试卷(全国版).docx
- 期末测试卷(一)(原卷版)2024—2025学年七年级语文上册期末测试卷(全国版).docx
- 期末测试卷(一)(解析版)2024—2025学年七年级语文上册期末测试卷(全国版).docx
最近下载
- 2026年版初中体育与健康课标测试题及答案(共7套).docx
- 医科大学2020-2021学年第一学期期末考试护理专业《人体解剖学》B卷.docx VIP
- 医疗应急管理制度.docx VIP
- 电子巡更系统设计方案.docx VIP
- 肝硬化合并消化道出血的护理.pptx VIP
- 云南农业大学2020-2021大数据技术及应用期末考试.docx VIP
- 一份完整的冠心病病历.pptx VIP
- 中南财经政法大学2019-2020(二)《货币金融学》期末考试试卷.docx VIP
- 人工智能技术在医疗领域的应用与发展趋势.docx
- 中山大学2020级本科生期末考试 考试科目《汉语综合(上)》(A卷).docx VIP
原创力文档

文档评论(0)