Автор Тема: Регулярное выражение...  (Прочитано 5793 раз)

0 Пользователей и 1 Гость просматривают эту тему.

  • Гость
Регулярное выражение...
« : 29 Июля 2001, 19:54:35 »
Подскажите регулярное выражение для выборки mail адресов из html-документа.

Оффлайн Haze

  • Просто я...
  • Пользователь
  • **
  • Сообщений: 70
  • +0/-0
  • 2
    • Просмотр профиля
    • http://www.baltic.ee
Регулярное выражение...
« Ответ #1 : 29 Июля 2001, 21:27:27 »
Спамить собрался?

/(\\S+\\@\\S+\\.\\S+)/

Оффлайн Glader

  • Завсегдатай
  • Пользователь
  • **
  • Сообщений: 66
  • +0/-0
  • 0
    • Просмотр профиля
    • http://glader.ru
Регулярное выражение...
« Ответ #2 : 15 Августа 2001, 07:34:51 »
А еще я намекаю, что при выдирании мыла из HTML ты неминуемо захватишь что-нибудь типа "<". Может, \\w вместо \\S ?

Оффлайн Haze

  • Просто я...
  • Пользователь
  • **
  • Сообщений: 70
  • +0/-0
  • 2
    • Просмотр профиля
    • http://www.baltic.ee
Регулярное выражение...
« Ответ #3 : 14 Августа 2001, 22:13:01 »
Цитировать
Цитировать
Если уж на то пошло, тогда:
/S+@S+/

И куда же уйдет письмо, посланное по этому адресу?

Hint: "mailto:glader_hs@mail.ru"
А ты пошли письмо и увидишь! А в чем проблема я вообще понять не могу... Ты проверь строку, а потом спрашивай! Если ты намекаешь, что она припишет к мылу mailto:, то, где ты видил, чтобы в тексте мыло довалось вместе с mailto:? Да и кроме того, отрезать этот mailto: совсем труда не составит!

Кроме того, он еще отправит и такое вот мыло: mqlo!!!mqlo@mqlo.ru

Оффлайн Glader

  • Завсегдатай
  • Пользователь
  • **
  • Сообщений: 66
  • +0/-0
  • 0
    • Просмотр профиля
    • http://glader.ru
Регулярное выражение...
« Ответ #4 : 14 Августа 2001, 08:19:44 »
Hint: 123@mail.lacerta.ru

Тогда уж /\\S+@(\\S+\\.)+\\S+/


Оффлайн Glader

  • Завсегдатай
  • Пользователь
  • **
  • Сообщений: 66
  • +0/-0
  • 0
    • Просмотр профиля
    • http://glader.ru
Регулярное выражение...
« Ответ #5 : 14 Августа 2001, 11:14:59 »
Цитировать
Если уж на то пошло, тогда:
/S+@S+/

И куда же уйдет письмо, посланное по этому адресу?

Hint: "mailto:glader_hs@mail.ru"

Оффлайн Haze

  • Просто я...
  • Пользователь
  • **
  • Сообщений: 70
  • +0/-0
  • 2
    • Просмотр профиля
    • http://www.baltic.ee
Регулярное выражение...
« Ответ #6 : 14 Августа 2001, 10:56:59 »
Цитировать
Hint: 123@mail.lacerta.ru

Тогда уж /S+@(S+.)+S+/

 


Если уж на то пошло, тогда:
/\\S+@\\S+/

Оффлайн Haze

  • Просто я...
  • Пользователь
  • **
  • Сообщений: 70
  • +0/-0
  • 2
    • Просмотр профиля
    • http://www.baltic.ee
Регулярное выражение...
« Ответ #7 : 15 Августа 2001, 13:41:55 »
Цитировать
А еще я намекаю, что при выдирании мыла из HTML ты неминуемо захватишь что-нибудь типа "<". Может, w вместо S ?
w использовать нельзя, по скольку в мыле могут быть такие вот знаки _ или еще чего-нибудь там... Надо делать проверку на : в начале и " или > в конце.
Итого получаем:
/:(\\S+@\\S+)[\\"\\>]/

[Изменено 15.8.2001 автор: Haze]

Оффлайн lyonchik

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 24
  • +0/-0
  • 0
    • Просмотр профиля
    • http://www.webmoney-hosting.com
Регулярное выражение...
« Ответ #8 : 23 Ноября 2001, 20:30:02 »
Можно попробовать вот так

$_ ~= s/.*?=?\\"?(mailto:)?([a-z0-9]+([-_\\.]?[a-z0-9])+@[a-z0-9]+([-_\\.]?[a-z0-9])+\\.[a-z]{2,4})\\"?>?.*?\\b<\\/a>.*/\\2/gi;
Недорогой и качественный хостинг в США

Оффлайн Green Kakadu

  • Координатор
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 2757
  • +1/-0
  • 0
    • Просмотр профиля
    • http://gnezdo.webscript.ru
Регулярное выражение...
« Ответ #9 : 24 Ноября 2001, 13:41:42 »
а так:

/[\\w\\d_-]+@[\\w\\d_-]([\\w\\d_\\.-]*?).([\\w\\d]{2,4})/

Какие еще прочие символы могут быть кроме \'_\' и \'-\'?
домены *.museum пока не учитываем :)
 в исканиях.

Оффлайн NeoNox

  • Координатор
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 3012
  • +0/-0
  • 0
    • Просмотр профиля
Регулярное выражение...
« Ответ #10 : 24 Ноября 2001, 13:53:11 »
to Lodevar может пора ЧаВо заводить? Я насчитал этих тредов 5 штук, так или иначе с выдиранием адресов связанных...

И шоб не оффтоп- посмотри тред 14-11-01
http://forums.webscript.ru/showthread.php?s=&threadid=2335
The documentations is your friend

Оффлайн lyonchik

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 24
  • +0/-0
  • 0
    • Просмотр профиля
    • http://www.webmoney-hosting.com
Регулярное выражение...
« Ответ #11 : 24 Ноября 2001, 14:24:42 »
Green Kakadu
а есть .museum? :)
что-то не слышал про такие.
Недорогой и качественный хостинг в США

Оффлайн Green Kakadu

  • Координатор
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 2757
  • +1/-0
  • 0
    • Просмотр профиля
    • http://gnezdo.webscript.ru
Регулярное выражение...
« Ответ #12 : 24 Ноября 2001, 15:20:59 »
Цитировать
а есть .museum?  
что-то не слышал про такие.

http://www.icann.org/tlds/ - не я придумал
 в исканиях.

  • Гость
Регулярное выражение...
« Ответ #13 : 27 Ноября 2001, 11:38:08 »
Казахский выриант :D

$w=\'\';
print $1 if $w=~/(\\w+-?\\w+\\@\\w+(\\.\\w+)+)/;

ююю

  • Гость
Регулярное выражение...
« Ответ #14 : 27 Ноября 2001, 16:04:29 »
Казахский вариат :D
Блин скобки забыл поставит
вот так праеленее

print $1 if $w=~/(\\w+(-?\\w+)+\\@\\w+(\\.\\w+)+)/;

ююю

 

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28