Время чтения: 2 мин.
Для поиска email-адресов в тексте можно использовать следующее регулярное выражение:
b[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Z|a-z]{2,}\b
Пояснение:
\b
— обозначает границу слова, чтобы email не был частью другого слова.[A-Za-z0-9._%+-]+
— соответствует локальной части email (до символа@
). Может содержать буквы, цифры, точки, подчеркивания, проценты, плюсы и дефисы.@
— символ@
, обязательный для email-адресов.[A-Za-z0-9.-]+
— соответствует доменной части email (после@
). Может содержать буквы, цифры, точки и дефисы.\.
— точка перед доменом верхнего уровня.[A-Z|a-z]{2,}
— домен верхнего уровня (например,com
,ru
,org
). Должен содержать не менее двух букв.
Пример использования в Python:
import re
text = "Пример текста с email-адресами: user@example.com, another.email@domain.co.uk."
emails = re.findall(r'\b[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Z|a-z]{2,}\b', text)
print(emails)
Вывод:
['user@example.com', 'another.email@domain.co.uk']
Это регулярное выражение охватывает большинство стандартных email-адресов, но может потребовать доработки для специфических случаев.
Вот пример использования регулярного выражения для поиска email-адресов в тексте на PHP:
<?php
$text = "Пример текста с email-адресами: user@example.com, another.email@domain.co.uk.";
// Регулярное выражение для поиска email-адресов
$pattern = '/\b[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Z|a-z]{2,}\b/';
// Поиск всех совпадений
preg_match_all($pattern, $text, $matches);
// Вывод найденных email-адресов
print_r($matches[0]);
?>
Объяснение:
$pattern
— регулярное выражение для поиска email-адресов.preg_match_all
— функция PHP, которая ищет все совпадения с регулярным выражением в тексте.$matches
— массив, в который сохраняются все найденные совпадения.
Вывод:
Array
(
[0] => user@example.com
[1] => another.email@domain.co.uk
)
Этот код найдет и выведет все email-адреса в тексте. Если вам нужно обработать или проверить email-адреса дополнительно, вы можете использовать полученный массив $matches[0]
.
Вот пример использования регулярного выражения для поиска email-адресов в тексте на JavaScript:
const text = "Пример текста с email-адресами: user@example.com, another.email@domain.co.uk.";
// Регулярное выражение для поиска email-адресов
const pattern = /\b[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Z|a-z]{2,}\b/g;
// Поиск всех совпадений
const emails = text.match(pattern);
// Вывод найденных email-адресов
console.log(emails);
Объяснение:
pattern
— регулярное выражение для поиска email-адресов.- Флаг
g
(global) указывает, что нужно найти все совпадения в тексте, а не только первое.
- Флаг
text.match(pattern)
— методmatch
применяет регулярное выражение к строке и возвращает массив всех найденных совпадений.emails
— массив, содержащий все найденные email-адреса.
Вывод:
['user@example.com', 'another.email@domain.co.uk']
Дополнительно:
Если нужно обработать каждый email-адрес, можно использовать цикл или метод forEach
:
emails.forEach(email => {
console.log("Найден email:", email);
});
Этот код найдет и выведет все email-адреса в тексте. Регулярное выражение можно адаптировать под конкретные требования, если это необходимо.
Добавить комментарий