Python:Примеры/Поиск телефонных номеров и адресов электронной почты в буфере обмена: различия между версиями
Материал из Онлайн справочника
Перейти к навигацииПерейти к поиску
Myagkij (обсуждение | вклад) (Новая страница: «{{Python/Панель перехода}} {{Myagkij-редактор}} =Поиск телефонных номеров и адресов электронной…») |
Myagkij (обсуждение | вклад) Нет описания правки |
||
Строка 62: | Строка 62: | ||
|Описание статьи= | |Описание статьи= | ||
|Изображение статьи для Open Graph= | |Изображение статьи для Open Graph= | ||
|Адрес страницы для schemaNewsArticle=<nowiki>http://wikihandbk.com/wiki/Поиск телефонных номеров и адресов электронной почты в буфере обмена</nowiki> | |Адрес страницы для schemaNewsArticle=<nowiki>http://wikihandbk.com/wiki/Python:Примеры/Поиск телефонных номеров и адресов электронной почты в буфере обмена</nowiki> | ||
|Изображение статьи для schemaNewsArticle=<nowiki></nowiki> | |Изображение статьи для schemaNewsArticle=<nowiki></nowiki> | ||
|Высота изображения статьи для schemaNewsArticle= | |Высота изображения статьи для schemaNewsArticle= |
Версия от 15:15, 19 января 2020
Проверка/Оформление/Редактирование: Мякишев Е.А.
Поиск телефонных номеров и адресов электронной почты в буфере обмена
Код
import pyperclip, re
# Создание регулярного выражения для номеров телефонов
phoneRegex = re.compile(r'''(
(\d{3}|\(\d{3}\))? # территориальный код
(\s|-|\.)? # разделить
(\d{3}) # первый 3 цифры
(\s|-|\.) # разделить
(\d{4}) # последние 4 цифры
(\s*(ext|x|ext.)\s*(\d{2,5}))? # добавочный номер
)''', re.VERBOSE)
# Создание регулярного выражения для адресов электронной почты
emailRegex = re.compile(r'''(
[a-zA-Z0-9._%+-]+ # имя пользователя
@ # символ @
[a-zA-Z0-9.-]+ # имя домена
(\.[a-zA-Z]{2,4}){1,2} # остальная часть
)''', re.VERBOSE)
# Поиск соответствий в тексте, содержащемся в буфере обмена
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])
# Копирование результатов в буфер обмена
if len(matches) > 0:
pyperclip.copy('\n'.join(matches))
print('Скопировано в буфере обмена:')
print('\n'.join(matches))
else:
print('Телефонные номера и адреса электронной почты не обнаружены.')
См.также
Внешние ссылки
Категории:
- Страницы с устаревшим атрибутом подсветки синтаксиса «enclose»
- Справочник языка Python
- Python
- Проверка:myagkij
- Оформление:myagkij
- Редактирование:myagkij
- SEO
- Примеры
- Примеры Python
- Модуль pyperclip
- Функция paste()
- Функция paperclip.paste()
- Код с вызовом paste()
- Код с вызовом paperclip.paste()
- Пример с вызовом paste()
- Пример с вызовом paperclip.paste()
- Функция copy()
- Функция paperclip.copy()
- Код с вызовом copy()
- Код с вызовом paperclip.copy()
- Пример с вызовом copy()
- Пример с вызовом paperclip.copy()