Я изучаю регулярные выражения с помощью автоматизированного курса скучных вещей Эл Суигарта на удеме, урок 29. Я получаю сообщение об ошибке «несбалансированные скобки в позиции 414 (строка 12, столбец 1)»
Код предназначен для извлечения телефонных номеров и адресов электронной почты с использованием регулярного выражения.
Я попытался сосчитать скобки и вынуть верхнюю и нижнюю скобки для регулярного выражения электронной почты.
#! python3
import re, pyperclip
# Done - TODO: create a regex object for phone numbers
phoneRegex = re.compile(r'''
# Types of number 415-555-0000, 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 - created non default regular expression class
# to capture any character a-z lowercase, A-Z upper case, numbers 0-9, characters _.+
@ # @ 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) # creates one string for each group ()
# Make sure desired regex is all in one group ()
extractedEmail = emailRegex.findall(text)
print (extractedPhone)# temporary print function to see if code works
print (extractedEmail)
выдает эту ошибку:
Traceback (последний вызов был последним):
Файл "C: \ Users * \ Рабочий стол \ Образование \ информатика \ автоматизировать скучные вещи \ программы \ урок 29 телефон и электронная почта regex.py", строка 18,
в
'' ', re.VERBOSE)
Файл "C: \ Users * \ AppData \ Local \ Programs \ Python \ Python37 \ lib \ re.py", строка
234, в компиляции
вернуть _compile (шаблон, флаги)
Файл "C: \ Users * \ AppData \ Local \ Programs \ Python \ Python37 \ lib \ re.py", строка
286, в _компиляции
p = sre_compile.compile (шаблон, флаги)
Файл "C: \ Users * \ AppData \ Local \ Programs \ Python \ Python37 \ lib \ sre_compile.py",
строка 764, в компиляции
p = sre_parse.parse (p, флаги)
Файл "C: \ Users * \ AppData \ Local \ Programs \ Python \ Python37 \ lib \ sre_parse.py",
строка 944, в разборе
поднять source.error ("несбалансированная скобка")
ошибка: несбалансированная скобка в позиции 414 (строка 12, столбец 1)