#! python3
# phoneAndEmail.py - Finds phone numbers and email addresses on the clipboard.
#encoding='utf-8'
import pyperclip,re
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'''(
[a-zA-Z0-9._%+-]+ #username
@ # @symbol
[a-zA-Z0-9.-]+ #domain name
(\.[a-zA-Z]{2,4}) #dot-something
)''',re.VERBOSE )
#finds matches in clipboard text
text = str(pyperclip.paste())
matches = []
for groups in phoneRegex.findall(text):
phoneNum = '-'.join([groups[1],groups[3],groups[5]])
if groups[8] != '':
phoneNum += 'x'+groups[8]
matches.append(phoneNum)
for groups in emailRegex.findall(text):
matches.append(groups[0])
#copy results to the clipboard
if len(matches) > 0:
pyperclip.copy('\n'.join(matches))
print('Copied to clipboard: ')
print('\n'.join(matches))
else:
print('No matches found.')
python正则表达式
最新推荐文章于 2024-06-14 11:20:52 发布
该Python程序使用正则表达式从剪贴板中查找和提取电话号码(包括区号和扩展号)以及电子邮件地址。如果找到匹配项,结果会被复制到剪贴板。
摘要由CSDN通过智能技术生成