Re^2: Вытащить e-mail адреса

From
Pavel Stribuk (2:452/77.38)
To
"Starikov Alexander"
Date
2002-12-17T08:39:29Z
Area
RU.ALGORITHMS
//Hi Starikov, //

 RR>> На каком языке ты хочешь это сделать?

 U> На С или паскале.

 RR>> Лучше всего взять Perl (или любой другой скриптовый язык) и записать
 RR>> нужный шаблон. Может не один, задача все-таки для всех адресов
 RR>> нетривиальная.

 U> Надо это встроить в прогу, что б она сама, а заморачиваться или в MS
 U> Script или вызовом внешних придложений не охота...
pcre тебя спасет. Изначально на С, но видел обертки на паскале к скомпиленой dll'ке.

Насчет регулярного выражения могу посоветовать обратиться к [Дж.Фридл Регулярные выражения. Библиотека программиста.] Там эта задача решается, но ввиду объективных причин (по стандарту RFC822 допускаются вложенные комментарии, а с помощью регэкспов можно разобрать лишь до наперед заданного уровня вложенности) сделано упрощение (один уровень комментария). Получилось выражение в 4724 байта. После оптимизации по скорости получился регэксп в 6598 байт (естественно без всяких лишних символов)! Так что можешь представить сложность задачи...

Bye ..
               Pavel Stribuk

--- WP/95 Rel 1.78E (215.0) Reg.
 * Origin: Original WinPoint Origin! (2:452/77.38)