Python:Примеры/Поиск телефонных номеров и адресов электронной почты в буфере обмена
Материал из Онлайн справочника
Перейти к навигацииПерейти к поиску
Проверка/Оформление/Редактирование: Мякишев Е.А.
Поиск телефонных номеров и адресов электронной почты в буфере обмена
Код
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()