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)