Python 自动化无聊的事情:电话和电子邮件地址提取错误

Python 自动化无聊的事情:电话和电子邮件地址提取错误,python,Python,我从Udemy课程视频中复制了代码,但是每当我运行它时,我都会得到一个不平衡的括号错误,我从一开始就尝试重写它,以确保没有遗漏任何内容,但仍然会得到相同的错误 import re, pyperclip # Create a regex for phone numbers phoneRegex = re.compile(r''' # 415-555-000, 555-0000, (415) 555-0000, 555-0000 ext 12345, ext. 12345, x12345 (

我从Udemy课程视频中复制了代码,但是每当我运行它时,我都会得到一个不平衡的括号错误,我从一开始就尝试重写它,以确保没有遗漏任何内容,但仍然会得到相同的错误


import re, pyperclip


# Create a regex for phone numbers
phoneRegex = re.compile(r'''
# 415-555-000, 555-0000, (415) 555-0000, 555-0000 ext 12345, ext. 12345, x12345
(
((\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 word-part (optional)
(\d{2,5}))? # extension number-part (optional)
)



''', re.VERBOSE)

# TODO: Create a regex for email addresses
emailRegex = re.compile(r'''
#some.+_thing@(\d{2,5}))?.com

[a-zA-Z0-9_.+]+          # name part
@          # @ symbol
[a-zA-Z0-9_.+]+          # domain name part 

''', re.VERBOSE)

# TODO: Get the text off the clipboard
text = pyperclip.paste()

# TODO: Extract the email/phone from this text
extractedPhone = phoneRegex.findall(text)
extractedEmail = emailRegex.findall(text)

allPhoneNumbers = []
for phoneNumber in extractedPhone:
    allPhoneNumbers.append(phoneNumber[0])

print(extractedPhone)
print(extractedEmail)

# TODO: Copy the extracted email/phone to the clipboard
错误消息:

  File "C:\Users\alish\MyPythonScripts\phoneAndEmail.py", line 21, in <module>
    ''', re.VERBOSE)
  File "C:\Users\alish\AppData\Local\Programs\Python\Python37\lib\re.py", line 234, in compile
    return _compile(pattern, flags)
  File "C:\Users\alish\AppData\Local\Programs\Python\Python37\lib\re.py", line 286, in _compile
    p = sre_compile.compile(pattern, flags)
  File "C:\Users\alish\AppData\Local\Programs\Python\Python37\lib\sre_compile.py", line 764, in compile
    p = sre_parse.parse(p, flags)
  File "C:\Users\alish\AppData\Local\Programs\Python\Python37\lib\sre_parse.py", line 938, in parse
    raise source.error("unbalanced parenthesis")
re.error: unbalanced parenthesis at position 384 (line 11, column 1)```
文件“C:\Users\alish\MyPythonScripts\phoneAndEmail.py”,第21行,在
'',重复冗长)
文件“C:\Users\alish\AppData\Local\Programs\Python\Python37\lib\re.py”,第234行,在compile中
返回编译(模式、标志)
文件“C:\Users\alish\AppData\Local\Programs\Python\Python37\lib\re.py”,第286行,在编译中
p=sre_compile.compile(模式、标志)
文件“C:\Users\alish\AppData\Local\Programs\Python37\lib\sre\u compile.py”,第764行,在compile中
p=sre_parse.parse(p,标志)
文件“C:\Users\alish\AppData\Local\Programs\Python37\lib\sre_parse.py”,第938行,在parse中
raise source.error(“不平衡括号”)
关于错误:384位置的不平衡括号(第11行第1列)```

第行缺少一个左括号:
(\d{2,5}))?#分机号码部分(可选)

您能否至少复制错误消息?是否将其复制到原始帖子。
(\d{2,5}))分机号码部分(可选)
这让我很伤心,但上面这行似乎缺少一个开括号。Fallout 4黑客攻击任何人?我认为你应该删除正则表达式定义中的注释。我不相信我看不到,谢谢你。还是结尾括号太多了?;)