-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathExtracting Numbers and Emails.py
More file actions
38 lines (29 loc) · 1013 Bytes
/
Copy pathExtracting Numbers and Emails.py
File metadata and controls
38 lines (29 loc) · 1013 Bytes
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
import re
import pyperclip
# 415-555-0000
# 555-0000
# (415) 555-0000
# 555-0000 ext 1234 / ext. 1234 / x1234
phoneNumberRegex = re.compile(r'''
(
((\d\d\d)|(\(\d\d\d\)))? # area code(optional)
(\s|-) # separator
\d\d\d # first three digits
- # separator
\d\d\d\d # last four digits
(((ext(\.)?\s)|x) (\d{2,5}))? # extension(optional)
)
''', re.VERBOSE)
emailRegex = re.compile(r'''
[a-zA-Z0-9_.+]+ # name
@ # @
[a-zA-Z0-9_.+]+ # domain name
''', re.VERBOSE)
text = pyperclip.paste()
extractedPhoneNumbers = phoneNumberRegex.findall(text)
extractedEmail = emailRegex.findall(text)
allPhoneNumbers = []
for phoneNumber in extractedPhoneNumbers:
allPhoneNumbers.append(phoneNumber[0])
result = '\n'.join(allPhoneNumbers)+'\n'+'\n'.join(extractedEmail)
print(result)