当前位置: 首页 > news >正文

python知识:正则表达式快速入门案例:提取文章中所有的单词、提取文章中所有的数字、提取百度热搜的标题、提取ip地址

什么是正则表达式?

正则表达式是用一定的规则匹配字符串内容。

快速入门示例

import re  # regular expression正则表达式(python的内置正则表达式)# 通过爬虫技术获取网页中的数据
def send_request1(key):content = """自20世纪90年代初Python语言诞生至今,它已被逐渐广泛应用于系统管理任务的处理和Web编程。1995年,Guido van Rossum在弗吉尼亚州的国家创新研究公司(CNRI)继续他在Python上的工作,并在那里发布了该软件的多个版本。 [1]2000年五月,Guido van Rossum和Python核心开发团队转到BeOpen.com并组建了BeOpen PythonLabs团队。同年十月,BeOpen PythonLabs团队转到Digital Creations(现为Zope Corporation)。[1]2001年,Python软件基金会(PSF)成立,这是一个专为拥有Python相关知识产权而创建的非营利组织。Zope Corporation是PSF的赞助成员。[1]04:04python笔记1-什么是pythonPython的创始人为荷兰人吉多·范罗苏姆(Guido van Rossum)。1989年圣诞节期间,在阿姆斯特丹,Guido为了打发圣诞节的无趣,决心开发一个新的脚本解释程序,作为ABC语言的一种继承。之所以选中单词Python(意为大蟒蛇)作为该编程语言的名字,是因为英国20世纪70年代首播的电视喜剧《蒙提·派森的飞行马戏团》(Monty Python's Flying Circus)。"""return contentdef send_request2(key):content = """<a target="_blank" title="铭记光荣历史展望美好未来" href="/s?wd=%E9%93%AD%E8%AE%B0%E5%85%89%E8%8D%A3%E5%8E%86%E5%8F%B2%E5%B1%95%E6%9C%9B%E7%BE%8E%E5%A5%BD%E6%9C%AA%E6%9D%A5&amp;usm=3&amp;ie=utf-8&amp;rsv_pq=c86c3047001173dd&amp;oq=python&amp;rsv_t=ba18RhmAZEPN3AhMlLhvbMVhT8bUTG358FYHVG%2FfScwTPsbKy%2FybeEbdNXk&amp;rqid=c86c3047001173dd&amp;rsf=6891a5dd0f89410b36452a49d428d239_1_15_1&amp;rsv_dl=0_right_fyb_pchot_20811&amp;sa=0_right_fyb_pchot_20811" class="c-font-medium c-color-t opr-toplist1-subtitle_1uZgw" data-click="{&quot;clk_info&quot;:&quot;{\&quot;index\&quot;:1,\&quot;page\&quot;:1,\&quot;city\&quot;:\&quot;\&quot;,\&quot;type\&quot;:\&quot;hot_fyb\&quot;}&quot;,&quot;area&quot;:&quot;RIGHT&quot;}">铭记光荣历史展望美好未来<!--14--></a><a target="_blank" title="央视曝白家电诈园区虐待手段:极残酷" href="/s?wd=%E5%A4%AE%E8%A7%86%E6%9B%9D%E7%99%BD%E5%AE%B6%E7%94%B5%E8%AF%88%E5%9B%AD%E5%8C%BA%E8%99%90%E5%BE%85%E6%89%8B%E6%AE%B5%EF%BC%9A%E6%9E%81%E6%AE%8B%E9%85%B7&amp;usm=3&amp;ie=utf-8&amp;rsv_pq=c86c3047001173dd&amp;oq=python&amp;rsv_t=ba18RhmAZEPN3AhMlLhvbMVhT8bUTG358FYHVG%2FfScwTPsbKy%2FybeEbdNXk&amp;rqid=c86c3047001173dd&amp;rsf=6891a5dd0f89410b36452a49d428d239_1_15_2&amp;rsv_dl=0_right_fyb_pchot_20811&amp;sa=0_right_fyb_pchot_20811" class="c-font-medium c-color-t opr-toplist1-subtitle_1uZgw" data-click="{&quot;clk_info&quot;:&quot;{\&quot;index\&quot;:2,\&quot;page\&quot;:1,\&quot;city\&quot;:\&quot;\&quot;,\&quot;type\&quot;:\&quot;hot_fyb\&quot;}&quot;,&quot;area&quot;:&quot;RIGHT&quot;}">央视曝白家电诈园区虐待手段:极残酷<!--17--></a><a target="_blank" title="饭店老板随手拍菜品被罚45万" href="/s?wd=%E9%A5%AD%E5%BA%97%E8%80%81%E6%9D%BF%E9%9A%8F%E6%89%8B%E6%8B%8D%E8%8F%9C%E5%93%81%E8%A2%AB%E7%BD%9A45%E4%B8%87&amp;usm=3&amp;ie=utf-8&amp;rsv_pq=c86c3047001173dd&amp;oq=python&amp;rsv_t=ba18RhmAZEPN3AhMlLhvbMVhT8bUTG358FYHVG%2FfScwTPsbKy%2FybeEbdNXk&amp;rqid=c86c3047001173dd&amp;rsf=6891a5dd0f89410b36452a49d428d239_1_15_3&amp;rsv_dl=0_right_fyb_pchot_20811&amp;sa=0_right_fyb_pchot_20811" class="c-font-medium c-color-t opr-toplist1-subtitle_1uZgw" data-click="{&quot;clk_info&quot;:&quot;{\&quot;index\&quot;:3,\&quot;page\&quot;:1,\&quot;city\&quot;:\&quot;\&quot;,\&quot;type\&quot;:\&quot;hot_fyb\&quot;}&quot;,&quot;area&quot;:&quot;RIGHT&quot;}">饭店老板随手拍菜品被罚45万<!--20--></a><a target="_blank" title="怎样看懂防汛高频词" href="/s?wd=%E6%80%8E%E6%A0%B7%E7%9C%8B%E6%87%82%E9%98%B2%E6%B1%9B%E9%AB%98%E9%A2%91%E8%AF%8D&amp;usm=3&amp;ie=utf-8&amp;rsv_pq=c86c3047001173dd&amp;oq=python&amp;rsv_t=ba18RhmAZEPN3AhMlLhvbMVhT8bUTG358FYHVG%2FfScwTPsbKy%2FybeEbdNXk&amp;rqid=c86c3047001173dd&amp;rsf=6891a5dd0f89410b36452a49d428d239_1_15_4&amp;rsv_dl=0_right_fyb_pchot_20811&amp;sa=0_right_fyb_pchot_20811" class="c-font-medium c-color-t opr-toplist1-subtitle_1uZgw" data-click="{&quot;clk_info&quot;:&quot;{\&quot;index\&quot;:4,\&quot;page\&quot;:1,\&quot;city\&quot;:\&quot;\&quot;,\&quot;type\&quot;:\&quot;hot_fyb\&quot;}&quot;,&quot;area&quot;:&quot;RIGHT&quot;}">怎样看懂防汛高频词<!--23--></a><a target="_blank" title="多地调整公积金存缴基数" href="/s?wd=%E5%A4%9A%E5%9C%B0%E8%B0%83%E6%95%B4%E5%85%AC%E7%A7%AF%E9%87%91%E5%AD%98%E7%BC%B4%E5%9F%BA%E6%95%B0&amp;usm=3&amp;ie=utf-8&amp;rsv_pq=c86c3047001173dd&amp;oq=python&amp;rsv_t=ba18RhmAZEPN3AhMlLhvbMVhT8bUTG358FYHVG%2FfScwTPsbKy%2FybeEbdNXk&amp;rqid=c86c3047001173dd&amp;rsf=6891a5dd0f89410b36452a49d428d239_1_15_5&amp;rsv_dl=0_right_fyb_pchot_20811&amp;sa=0_right_fyb_pchot_20811" class="c-font-medium c-color-t opr-toplist1-subtitle_1uZgw" data-click="{&quot;clk_info&quot;:&quot;{\&quot;index\&quot;:5,\&quot;page\&quot;:1,\&quot;city\&quot;:\&quot;\&quot;,\&quot;type\&quot;:\&quot;hot_fyb\&quot;}&quot;,&quot;area&quot;:&quot;RIGHT&quot;}">多地调整公积金存缴基数<!--26--></a>"""return contentdef send_request3(key):content = """公有地址公有地址(Public address)由Inter NIC(Internet Network Information Center因特网信息中心)负责。这些IP地址分配给注册并向Inter NIC提出申请的组织机构。通过它直接访问因特网。私有地址01:23什么是内网IP?今天告诉你答案私有地址(Private address)属于非注册地址,专门为组织机构内部使用。以下列出留用的内部私有地址A类 10.0.0.0-10.255.255.255B类 172.16.0.0-172.31.255.255C类 192.168.0.0-192.168.255.255"""return contentif __name__ == '__main__':tex1 = send_request1('python 百度百科')# print(txt, type(tex1))# 需求1:提取文章中所有的英文单词,[a-zA-Z]+表示以英文字符开头,可以是多个字符# findAll第一个是正则公式,第二个是需要使用公式的内容words = re.findall(r'[a-zA-Z]+', tex1)for word in words:print(word)# 需求2:提取文章中所有的数字,多个数字 \d表示数字 \d+表示所有的数字numbers = re.findall(r'\d+', tex1)for number in numbers:print(number)# 需求3:提取文章中所有的英文单词和数字,把需求1和需求2结合起来wordsOrNums = re.findall(r'([a-zA-Z]+)|(\d+)', tex1)for wordOrNum in wordsOrNums:if wordOrNum[0]:print('单词:' + wordOrNum[0])else:print('数字:' + wordOrNum[1])print("*" * 30)# print(tex2, type(tex2))# 需求4:提取百度热搜的标题tex2 = send_request2('百度热搜')titles = re.findall(r'<a target="_blank" title="(.*?)"', tex2)for title in titles:print(title)print("*" * 30)tex3 = send_request3('ip地址类型 百度百科')# print(tex3, type(tex3))# 需求5:提取所有的ip地址ips = re.findall(r'\d+\.\d+\.\d+\.\d+', tex3)for ip in ips:print(ip)

执行结果如下:
在这里插入图片描述

http://www.dtcms.com/a/275211.html

相关文章:

  • Web攻防-SSTI服务端模版注入利用分类语言引擎数据渲染项目工具挖掘思路
  • Umi-OCR 的 Docker安装(win制作镜像,Linux(Ubuntu Server 22.04)离线部署)
  • 数据集相关类代码回顾理解 | StratifiedShuffleSplit\transforms.ToTensor\Counter
  • 数据结构-双链表
  • 数字产品的专利战:要么布局称王,要么维权忙?
  • ABP VNext + Microsoft YARP:自定义反向代理与请求路由
  • 文件上传漏洞1-文件上传漏洞详细原理讲解与利用方式
  • 设计模式 - 面向对象原则:SOLID最佳实践
  • scrapy框架
  • 源表=电源+数字表?一文看懂SMU源表 2025-04-14
  • 大模型开发框架LangChain之函数调用
  • linux常用命令(一)
  • cnas实验室高效获证路径,cnas认证常见失败原因?
  • Linux711 Mysql
  • 使用node调用jira接口
  • [精选]如何解决pip安装报错ModuleNotFoundError: No module named ‘subprocess’问题
  • linux系统-----Redis主从复制
  • 生成对抗网络(GAN)原理详细讲解
  • MoE混合专家模型:千亿参数的高效推理引擎与架构革命
  • python文件操作与正则表达式综合练习
  • 第三方渗透测试:范围咋定?需供应商同意吗?
  • 【经典面经】C++新特性 TCP完整收发数据 TLS1.2 TLS1.3
  • 低成本的AI知识库方案及推荐
  • 计算机网络第三章(6)——数据链路层《网桥交换机》
  • 【Python3教程】Python3高级篇之CGI编程
  • Windows系统下GroundingDINO的安装2025(踩无数坑)
  • Django母婴商城项目实践(三)
  • SpringBoot 使用注解获取配置文件中的值
  • 揭示宇宙的隐藏对称性:群论-AI云计算拓展核心内容
  • 加密狗真的坏了吗?CodeMeter 锁故障判定与质保指引