re模块的修饰符大数据采集技术与应用37课件讲解.pptxVIP

re模块的修饰符大数据采集技术与应用37课件讲解.pptx

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

re模块的修饰符大数据采集技术与应用

1.掌握re模块修饰符功能和使用方法

re模块修饰符修饰符(Flags)是re模块中的可选参数,用于改变正则表达式的默认匹配行为。它们使得简单的模式能够处理复杂的文本情况,特别是在处理跨行、多语言或大小写不敏感的数据时至关重要。符号描述应用场景re.I使整个正则表达式在匹配时忽略字符的大小写差异。在爬虫中,用于匹配HTML标签(如HTML,html),或者进行关键词搜索(如Copyright,COPYRIGHT,copyright),避免因大小写不一致而漏掉匹配。re.S改变特殊字符.的默认行为。使用re.S后,\.将匹配包括换行符在内的任何字符。爬虫最常用修饰符之一。用于提取script标签或大型HTML注释块等跨越多行的文本内容。如果缺少此修饰符,跨行匹配将失败。re.M改变行首^和行尾$的默认行为。使用re.M后,^和$将匹配每一行内容的开始和结束。用于处理日志文件、配置文件等由多行记录组成的文本。例如,批量提取每行记录开头的IP地址或时间戳。re.X允许在正则表达式中添加空格和注释。匹配引擎将忽略模式字符串中的未转义空格和#及其后的内容。极大地提高了复杂正则表达式的可读性和维护性,尤其适用于需要精确匹配复杂结构(如URL、复杂日期、Email)的场景。

re模块修饰符footer_text_1=AllcontentiscOpYright2024.Allrightsreserved.

#规则解释:匹配copyright关键词,不区分大小写

pattern_1=rcopyright

match_1=re.search(pattern_1,footer_text_1,re.I)

ifmatch_1:

print(f原始文本:{footer_text_1})

print(f匹配结果:成功找到关键词{match_1.group(0)})

else:

print(未找到匹配项。)案例1:忽略大小写匹配输出:原始文本:AllcontentiscOpYright2024.Allrightsreserved.匹配结果:成功找到关键词cOpYright

re模块修饰符multi_line_data=

scriptdata-id=config

{

user:crawler_user,

data:Alongstring\nthatspansmultiplelines.

}

/script

#规则解释:匹配script和/script之间的所有内容。

#使用re.S使.匹配包括换行符在内的所有字符。

pattern_2=rscriptdata-id=config(.*?)/script

match_2=re.search(pattern_2,multi_line_data,re.S)

ifmatch_2:

print(已成功提取跨行的数据块(JSON或配置数据)。)

#提取并清理内容

content=match_2.group(1).strip()

print(f提取内容预览:{content[:30]}...)

案例2:匹配跨越多行的数据输出:已成功提取跨行的数据块(JSON或配置数据)。提取内容预览:{user:crawler_user,...

re模块修饰符log_text_3=10.0.0.1-RequestA\n203.0.113.4-RequestB\n\n192.168.1.1-RequestC#规则解释:匹配行首(^)后紧跟的IP地址。pattern_3=r^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}#使用re.M修饰符使^匹配每行的开头matches_3=re.findall(pattern_3,log_text_3,re.M)print(原始日志行数:4行(含一个空行))print(f提取的行首IP地址列表:{matches_3})案例3:匹配每行起始点输出:原始日志行数:4行(含一个空行)提取的行首IP地址列表:[10.0.0.1,203.0.113.4,192.168.1.1]

re模块修饰符metadata_text_4=PublishDate:2025-10-25.

#规则解释:匹配YYYY-MM-DD格式的日期,使用re.X提高可读性。

pattern_4=r

您可能关注的文档

文档评论(0)

方世玉 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

版权声明书
用户编号:6101050130000123

1亿VIP精品文档

相关文档