|
ru.perl- RU.PERL ---------------------------------------------------------------------- From : Alexey Mahotkin 2:5020/400 04 Feb 2004 11:24:44 To : Vladimir Litovka Subject : Re: rfc822 regexp -------------------------------------------------------------------------------- >>>>> "VL" == Vladimir Litovka <doka@kiev.sovam.com> writes: VL> Hi. однако же у меня крыша уже едет - я не могу написать регулярное VL> выражение :-( VL> Есть заголовок письма: VL> Я проморочился много времени и ничего толком не придумал. Все, что у VL> меня получалось - не дает стопроцентно правильного результата при VL> разных комбинациях запятых, пробелов, табуляций и ньюлайнов в поле. VL> Может я изобретаю велосипед? Any ideas? Парсинг RFC822 с помощью регексов -- чья-то старая не очень добрая шутка, которая ходит с тех пор по неокрепшим умам. Возьми какой-нибудь стандартный парсер RFC822, который позволяет извлекать из полей To/Cc/Resent-To адреса в том виде, в котором они будут непосредственно использоваться Mail Transfer Agent'ом (то есть просто "vasya@domain.ru", без всяких там "Vasiliy Pupkin <vasya@domain.ru>" Удали из этого списка те адреса, которые тебе не нравятся, и собери их обратно в соответствующие поля. Hа RFC822-комментарии забей. Если парсер позволяет разбивать адреса с учётом комментариев, то так даже лучше. Можно извлечь отдельно адреса с комментариями, соответствующие им адреса без комментариев, потом поиском по первым убивать ненужные вторые, и собирать обратно первые. Я не знаю, зачем бы мог понадобиться другой алгоритм. --alexm --- ifmail v.2.15dev5.3 * Origin: tyranny (2:5020/400) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.perl/3865d231e8f1.html, оценка из 5, голосов 10
|