第7章 抽取电话和email

#phone number and email address  are extrated
article='##refsfs:800*420*7240 ext 3232 fsdfsdfsd sdfsd:415-863-9900xcvxvdscs  litjtg:(415).863.9950swqfwvz  ' \
        'gpojorjo:info@nostarch.com sdfsndif 342sdf:media@nostarch.com fsdwqsax 2131sf:academic@nostarch.com xczvwvw' \
        '43423sdg:help@nostarch.com dfwefe'

import pyperclip,re
article = pyperclip.copy(article)
#create phone regex
PhoneRegex = re.compile(r'''(
    (\d{3}|\(\d{3}\))? #area code
    (\s|-|\.|\*)?         #separator
    (\d{3})             #first 3 digits
    (\s|-|\.|\*)?         #separator
    (\d{4})             #last 4 digits
    (\s*(ext|x|ext.)\s*(\d{2,5}))? #extension
)''',re.VERBOSE)
#create email regex
EmailRegex = re.compile(r'''(
    [\w|.|%+-]+    #username
    @               #symbol
    [\w|-]+        #domain name
    (\.[a-zA-Z]{2,4}){1,2} #dot-something
)''', re.VERBOSE)
#Find matches in clipboard text
text = str(pyperclip.paste())
matches = []
#find all phoneNumber
for group in PhoneRegex.findall(text):
    phoneNumber = '-'.join([group[1], group[3], group[5]])
    if group[8] != '':
        phoneNumber += ' ext:' + group[8]
    matches.append(phoneNumber)
# find all email
for group in EmailRegex.findall(text):
    matches.append(group[0])
if len(matches) > 0:
    pyperclip.copy('\n'.join(matches))
    print('copied to clipboard success!')
    print('\n'.join(matches))
else:
    print('No phone number or email address  is found')
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值