#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')
第7章 抽取电话和email
最新推荐文章于 2024-03-10 20:37:33 发布