Добрый день, товарищи
Подскажите, использую действие "Искать текст с параметрами" для проверки указанных e-mail, хочу использовать регулярное выражение, но не силён в них, и гугление не принесло работающих в xstarter результатов.
То есть хотелось рабочее регулярное выражение, проверять по нему соответствие адреса, а на выходе от действия просто получать False или True
Есть такое выражение, отлично работает, но xstarter не понимает его(
Заранее спасибо!
Регулярка для проверки e-mail
-
- Пилотируем с автопилотом
- Сообщения: 30
- Зарегистрирован: Пт мар 11, 2011 1:26 pm
- Благодарил (а): 0
- Поблагодарили: 0
Re: Регулярка для проверки e-mail
обычная совершено задача, суть в том, что выгружаю списком кучу мыльников из своей базы, надо проверить правильно ли они занесены, к примеру -
и соответственно, после обработки формируется два файлика, один с хорошими другой с неправильными адресами.
У меня методом научного тыка получилось только нарисовать такое выражение -
.*(@).*?\..*(@) оно находит задвоенные, без разделителя адреса
- примерная задача, но суть понятна
Код: Выделить всё
mail-1_1@mail1.ru - хороший
mail2@mail2.rumail3@mail3.ru - ошибка, пропущен разделитель между мыльниками
my.mail.4.@mail.pochta.ru - хороший
@mail5.ru - ошибка
@mail6. - ошибка
@mail7 - ошибка
mail8mail8.ru - ошибка, нет собаки
У меня методом научного тыка получилось только нарисовать такое выражение -
.*(@).*?\..*(@) оно находит задвоенные, без разделителя адреса
- примерная задача, но суть понятна
-
- Ас
- Сообщения: 307
- Зарегистрирован: Ср июн 24, 2009 4:12 am
- Благодарил (а): 8 раз
- Поблагодарили: 4 раза
Re: Регулярка для проверки e-mail
Сделайте просто проверку по двум условиям, которые полностью закрывают вашу ситуацию (исходя из ваших примеров):
1. Получаем первый символ. Если = @ - ошибка
2. Ищем количество @. Если = 1 - все хорошо. Не равно - ошибка.
1. Получаем первый символ. Если = @ - ошибка
2. Ищем количество @. Если = 1 - все хорошо. Не равно - ошибка.
-
- Пилотируем с автопилотом
- Сообщения: 30
- Зарегистрирован: Пт мар 11, 2011 1:26 pm
- Благодарил (а): 0
- Поблагодарили: 0
Re: Регулярка для проверки e-mail
Да, спасибо, я примерно так и выкрутился, правда через три IF и переменную
вот правильное регулярное выражение \w+\@\w.+\.\w+ для проверки валидности e-mail, если адрес соответствует маске, т.е. правильно указан, то +1 в переменную
вот выражение для поиска сдвоенных адресов @\w.+\@, если адрес не соответствует маске, т.е. не сдвоен с другим адресом, то +1 в переменную
Ну и соответственно в конце-концов, если переменная в итоге равна 2, то запись мыльника в файл хороших адресов, иначе запись в файл с ошибочными.
Хотелось, конечно не плодить IF'ы и переменные, а описать всю проверку одним выражением, но....)
Может и такое кому пригодится)
вот правильное регулярное выражение \w+\@\w.+\.\w+ для проверки валидности e-mail, если адрес соответствует маске, т.е. правильно указан, то +1 в переменную
вот выражение для поиска сдвоенных адресов @\w.+\@, если адрес не соответствует маске, т.е. не сдвоен с другим адресом, то +1 в переменную
Ну и соответственно в конце-концов, если переменная в итоге равна 2, то запись мыльника в файл хороших адресов, иначе запись в файл с ошибочными.
Хотелось, конечно не плодить IF'ы и переменные, а описать всю проверку одним выражением, но....)
Может и такое кому пригодится)