Помогите составить регулярное выражение

  • Автор темы Автор темы seomr
  • Дата начала Дата начала

seomr

Client
Регистрация
31.05.2011
Сообщения
103
Реакции
5
Баллы
18
Уважаемые форумчане, прошу помощи в составлении регулярного выражения для парсинга email адреса, который содержит определенное ключевое слово как перед @, так и после.

К примеру, zennolab@mail.ru или info@zennolab.ru. Регулярка должна брать и первый и второй email по ключевику zennolab
 
а если сделать просто два процесса с регулярками под разные типы?
 
Парсинг в два шага - сначала получаете e-mail адреса - [A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,4}, затем из них получаете те, что содержат слово zennolab - [^\s]*zennolab[^\s]*
 
Последнее редактирование:
Парсинг в два шага - сначала получаете e-mail адреса - [A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,4}, затем из них получаете те, что содержат слова zennolab - [^\s]*zennolab[^\s]*
не выдаёт этой регуляркой ничего
 
Первая или вторая регулярка? и из какого сурса?
 
[\.\-_A-Za-z0-9]+?@[\.\-A-Za-z0-9]+?[\.A-Za-z0-9]{2,} получить email адреса
 
  • Оценить
Реакции: VladZen
так он все емайл всё равно получит даже той регуляркой что я написал если они у него уже присутствуют, не проще ему сразу пропарсить на zennolab, и всё что с зеннолаб связано уже выдёгивать
 
Уважаемые форумчане, прошу помощи в составлении регулярного выражения для парсинга email адреса, который содержит определенное ключевое слово как перед @, так и после.

К примеру, zennolab@mail.ru или info@zennolab.ru. Регулярка должна брать и первый и второй email по ключевику zennolab
(zennolab)+?@[\.\-A-Za-z0-9]+?[\.A-Za-z0-9]{2,} это по первому
[\.\-_A-Za-z0-9]+?@(zennolab)[\.\-A-Za-z0-9]+?[\.A-Za-z0-9]{2,} это по второму
 
Последнее редактирование:
ну так ТС написал конкретные адреса
 
тогда такой zennolab@mail.ru не спарсится
(zennolab)+?@[\.\-A-Za-z0-9]+?[\.A-Za-z0-9]{2,} это по первому
[\.\-_A-Za-z0-9]+?@(zennolab)[\.\-A-Za-z0-9]+?[\.A-Za-z0-9]{2,} это по второму
[\.\-A-Za-z0-9]+?_(zennolab)+?@[\.\-A-Za-z0-9]+?[\.A-Za-z0-9]{2,} по твоему
мы ведь не знаем точно что он именно хочет
 
Я к тому что проще все таки в два шага, чем писать на каждый возиожный e-mail регулярку) ну да ладно, автор темы выберет, что ему лучше
 
Последнее редактирование:
Парсинг в два шага - сначала получаете e-mail адреса - [A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,4}, затем из них получаете те, что содержат слово zennolab - [^\s]*zennolab[^\s]*
как и я написал выше тогда сразу получить что с зенолаб связанно, а если миллион почт то конечно не вариант так перебирать, только не пойму зачем вообще адреса все вытаскивать, пусть зеннолабы и вытаскивает сразу или парсит, откуда что мы ведь не знаем
 
Спасибо всем за ответы. Наверное, я не совсем конкретно привел примеры, меня интересует как раз регулярка, которая бы парсила любой вариант, который привел VladZ. И если это возможно, то одной регуляркой.
 
Спасибо всем за ответы. Наверное, я не совсем конкретно привел примеры, меня интересует как раз регулярка, которая бы парсила любой вариант, который привел VladZ. И если это возможно, то одной регуляркой.
его первая регулярка не выдёргивает адреса не какие, какие имено у тебя адреса????
 
Следующие варинаты:
ключевое слово@mail.ru
info@ключевое слово.ru
*ключевое слово@mail.ru
info@*ключевое слово.ru
ключевое слово*@mail.ru
info@ключевое слово*.ru
*ключевое слово*@mail.ru
info@*ключевое слово*.ru
где * - любое количество символов
 
Следующие варинаты:
ключевое слово@mail.ru
info@ключевое слово.ru
*ключевое слово@mail.ru
info@*ключевое слово.ru
ключевое слово*@mail.ru
info@ключевое слово*.ru
*ключевое слово*@mail.ru
info@*ключевое слово*.ru
где * - любое количество символов
попробуй такой
[\.\-_A-Za-z0-9]+?@(zennolab|mail|[\-_A-Za-z0-9]+?zennolab|[\-_A-Za-z0-9+zennolab+A-Za-z0-9])+?[\.\-_A-Za-z0-9]{2,}
 

Вложения

  • 2015-02-21_223324.png
    2015-02-21_223324.png
    13,1 KB · Просмотры: 726
Берет все email адреса: и которые включают в себя ключевое слово и которые не включают.
 
Последнее редактирование:
Зачем так усложнять, можно взять все мейлы в список и удалить те, в которых нет ключевого слова.
 
автор топика просит регулярку )))
лучше выпарсить весь текст в список по лексеме "M N", где M это любое слово, N - почта.
выбрать из списка те почты где есть ключевое слово.
 
Мне нужна была одна регулярка, так как нужно очень много потоков и я использую не только ZennoPoster Pro, но и еще одну программу для парсинга на другом ПК, так вот там я могу вставить только одну регулярку, обработать email адреса на выходе нет возможности.

Всем спасибо за помощь, с регуляркой разобрался методом научного тыка.
 

Кто просматривает тему: (Всего: 0, Пользователи: 0, Гости: 0)