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

灯饰 技术支持 东莞网站建设媒体宣传推广方案

灯饰 技术支持 东莞网站建设,媒体宣传推广方案,中国建设银行网站的社保板块在哪里,网站建设维护公司资质Python 实现电话号码和Email地址提取程序 背景 在日常工作或学习中,我们经常需要从网页或文档中提取信息,比如电话号码和E-mail地址。手动查找和提取这些信息可能会耗费大量时间,而自动化工具可以帮助我们快速完成这个任务。 本篇博客将带…

Python 实现电话号码和Email地址提取程序

背景

在日常工作或学习中,我们经常需要从网页或文档中提取信息,比如电话号码和E-mail地址。手动查找和提取这些信息可能会耗费大量时间,而自动化工具可以帮助我们快速完成这个任务。

本篇博客将带你一步步实现一个程序,从剪贴板中提取所有电话号码和E-mail地址,并将它们整理后再复制到剪贴板中。

任务目标

  1. 从剪贴板取得文本
  2. 找出文本中的所有电话号码和E-mail地址
  3. 将它们粘贴到剪贴板,以便快速使用。

实现步骤

1. 安装依赖库

我们需要 pyperclip 库来实现从剪贴板复制和粘贴文本。如果你还没有安装 pyperclip,可以通过以下命令进行安装:

pip install pyperclip
2. 编写程序

接下来,我们将逐步实现该程序:

  1. 使用 pyperclip 从剪贴板获取文本
  2. 编写两个正则表达式,一个匹配电话号码,另一个匹配 E-mail 地址。
  3. 使用正则表达式提取所有匹配项
  4. 将提取到的电话号码和 E-mail 地址整理后粘贴到剪贴板
  5. 显示消息,提示用户结果。
3. Python 代码实现
import pyperclip
import re# 1. 创建电话号码的正则表达式
phone_regex = re.compile(r'''((\d{3}|\(\d{3}\))?              # 区号 (可选)(\s|-|\.)?                      # 分隔符 (可选)(\d{3})                         # 前三个数字(\s|-|\.)                       # 分隔符(\d{4})                         # 后四个数字(\s*(ext|x|ext.)\s*(\d{2,5}))?  # 分机号 (可选)
)''', re.VERBOSE)# 2. 创建 E-mail 地址的正则表达式
email_regex = re.compile(r'''([a-zA-Z0-9._%+-]+               # 用户名@                               # @ 符号[a-zA-Z0-9.-]+                  # 域名(\.[a-zA-Z]{2,4})               # 顶级域名
)''', re.VERBOSE)# 3. 从剪贴板中获取文本
text = pyperclip.paste()# 4. 在文本中找到所有电话号码和 E-mail 地址
matches = []# 查找电话号码
for groups in phone_regex.findall(text):phone_num = '-'.join([groups[1], groups[3], groups[5]])if groups[8] != '':phone_num += f' ext{groups[8]}'matches.append(phone_num)# 查找 E-mail 地址
for groups in email_regex.findall(text):matches.append(groups[0])# 5. 如果找到了匹配项,就将它们复制到剪贴板
if matches:# 将结果整理成一个字符串,每行一个结果results = '\n'.join(matches)pyperclip.copy(results)print("已找到以下电话号码和E-mail地址,并复制到剪贴板:")print(results)
else:print("未找到任何电话号码或E-mail地址。")
4. 代码详细说明
  • 正则表达式:

    • 电话号码正则表达式:
      • (\d{3}|\(\d{3}\))?:匹配可选的3位区号,允许括号表示法,如 (123)
      • (\s|-|\.)?:匹配可选的分隔符,如空格、短横线或点号。
      • (\d{3})(\d{4}):匹配电话号码的前3位和后4位数字。
      • (ext|x|ext.)?:匹配可选的分机号,如 ext. 1234
    • E-mail 地址正则表达式:
      • [a-zA-Z0-9._%+-]+:匹配用户名部分,支持字母、数字、点、下划线、百分号等。
      • @:匹配 @ 符号。
      • [a-zA-Z0-9.-]+:匹配域名。
      • (\.[a-zA-Z]{2,4}):匹配顶级域名,如 .com.cn
  • pyperclip:

    • pyperclip.paste():从剪贴板中获取文本。
    • pyperclip.copy():将结果复制到剪贴板。
  • 匹配过程:

    • 通过 phone_regex.findall(text)email_regex.findall(text),找到文本中的所有电话号码和 E-mail 地址。
    • 将所有匹配项整理成字符串,逐行输出并复制到剪贴板。
5. 程序运行示例

假设剪贴板内容如下:

Contact us at (123) 456-7890 or 987-654-3210 ext. 123. 
You can also email support@example.com or info@company.com.

程序输出:

已找到以下电话号码和E-mail地址,并复制到剪贴板:
123-456-7890
987-654-3210 ext123
support@example.com
info@company.com
6. 未找到匹配时的提示

如果文本中没有电话号码或 E-mail 地址,程序将输出:

未找到任何电话号码或E-mail地址。

结论

通过 pyperclip 模块结合正则表达式,可以轻松实现从剪贴板中提取电话号码和 E-mail 地址的程序。这个小工具可以广泛应用于信息采集、数据整理等场景,极大提升工作效率。在实际使用中,你可以根据需要对正则表达式进行扩展,以适应更多格式的电话号码和 E-mail 地址。

http://www.yayakq.cn/news/704889/

相关文章:

  • 备案名称和网站logo不一致wordpress网站怎么加小游戏
  • 网站建设首页包括什么门户网站 建设 北京 航天
  • 在线网站建设平台哪个好什么亲子网站可以做一下广告词
  • 网站版心怎么做网页型网站
  • 企业网站管理系统排名裕安区韩摆渡镇
  • 能看网站的视频app中国做视频网站有哪些内容
  • 百度一下建设部网站修改wordpress数据库
  • 电话销售的10个小技巧百度关键词优化查询
  • 网站开发技术分享ppt网络推广公司加盟
  • 国内域名注册商给网站做排名优化学什么好
  • 品牌网站建设意义企业查询系统官网入口
  • 龙岗爱联有学网站建设北京网站建设公司优势
  • 天津做网站找哪家公司好深圳谷歌seo培训班
  • 淘客做的网站属于什么类型软件类专业有哪些
  • 沈阳网站制作 600元佛山网站建设费用
  • 重庆 网站 建设wordpress文章推送邮箱
  • 做外贸企业网站要注意哪些中山网站建设价位
  • wordpress卖邀请码链接南昌seo推广外包
  • wordpress站点结构做外贸没网站可以吗
  • 各种网站开发语言的优缺点微信自己开发小程序
  • 如何用手机做钓鱼网站威海 网站开发
  • 织梦m网站伪静态做网站和优化共多少钱
  • 济南网站建设公司有哪些国外搜索引擎排名百鸣
  • 湛江网站建设电话如何做自己的淘宝网站
  • 网站开发 工具wordpress 弹框
  • 搭建个人网站的两种方法网站如何自己做优化
  • 众网站阿里云oss可以做网站
  • 哪种语言做网站最合适网上商城开发费用
  • 有后台的网站中国联通网站备案管理系统
  • 校园网站建设说明书网页设计公司网站设计