-
Notifications
You must be signed in to change notification settings - Fork 0
/
phoneAndEmail.py
47 lines (35 loc) · 1.22 KB
/
phoneAndEmail.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
#! python3
import re, pyperclip
#print('Hello, world!')
# Create a regex for phone numbers
#((/d/d/d)|(\(\d\d\d\)))? #area code (optional)
phoneRegex = re.compile(r'''
(
((\d\d\d)|(\(\d\d\d\))) #area code (optional)
(\s|-) # first separator
\d\d\d # first 3 digits
- # separator
\d\d\d\d #last 4 digits
(((ext(\.)?\s)|x) # extension characters (optional)
(\d{2,5}))? # extension number (optional)
)
''', re.VERBOSE)
# Create a regex for email addresses
emailRegex = re.compile(r'''
[a-zA-Z0-9_.+]+ # name
@ # @ symbol
[a-zA-Z0-9_.+]+ #domain name
''', re.VERBOSE)
# Get the text off the clipboard
text = pyperclip.paste()
# Extract the email and phone from this text
extractedPhone = phoneRegex.findall(text)
extractedEmail = emailRegex.findall(text)
allPhoneNumbers = []
for phoneNumber in extractedPhone:
allPhoneNumbers.append(phoneNumber[0])
# Copy the extracted email and phone to the clipboard
results = '\n'.join(allPhoneNumbers) + '\n' + '\n'.join(extractedEmail)
pyperclip.copy(results)
print(results)