打卡4

2.?的作用
匹配零次或一次前面的分组

3.区分match对象的groups()、group()、group(1)……
group(0)和group()一样,返回所有匹配的文本
groups(1)返回第一个分组
groups()返回所有分组

4.完成课本的实例,匹配电话号码和邮箱。

import re,pyperclip
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)
email_regex=re.compile(r’’’(
[a-zA-z0-9._+%-]+ #邮箱名
@
[a-zA-Z0-9.-]+ #域名
(.[a-zA-Z]{2,4}) #顶级域名
)’’’,re.VERBOSE)

text = str(pyperclip.paste()) #取得剪贴板上文本
matches =[]
for groups in phone_regex.findall(text):
phoneNum = ‘-’.join([groups[1], groups[3], groups[5]]) #取一三五分组
if groups[8]!=’’ :
phoneNum += ’ x’ + groups[8]
matches.append(phoneNum)
for groups in email_regex.findall(text):
matches.append(groups[0])

if len(matches)>0:
pyperclip.copy(’\n’.join(matches))
print(“复制到剪贴板:”)
print(’\n’.join(matches))
else:
print(‘未发现电话号码和邮件地址’)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值