+ Reply to Thread
Results 1 to 11 of 11

Thread: Поиск e-mail

  1. #1
    Izg0y's Avatar

    Default Поиск e-mail

    Есть у кого пример реализации эффективного поиска e-mail адресов?
    Желательно в сорсах и без использования сторонних библиотек.
    ,--= Реальность - это костыль для тех, кто не имеет воображения =--,

  2. #2
    Boolean's Avatar

    Default Re: Поиск e-mail

    как бы...
    Code:
    procedure TForm1.Button1Click(Sender: TObject);
    var garbage,list:string;
        i,sp:integer;
    begin
      garbage:=
    '
    hashdiasb asidhbasoi dyasi mailto:asd@gov.ru bashdb alkshdbl ahsbdlhabsldhb  unknown@otdel.ca 
    bahdsb alhsbdlkahs bdlkhabsld hbsa
    ';
    While pos('@',garbage)<>0
    do
    begin
      i:=pos('@',garbage);
      sp:=i;
      while Copy(garbage,sp,1)<>' '
      do
      sp:=sp+1;
      while ( (Copy(garbage,i,1)<>' ') and (Copy(garbage,i,1)<>':'))
      do
      i:=i-1;
      list:=list+Copy(garbage,i+1,sp-i)+#13#10;
      Delete(garbage,Pos('@',garbage),1);
    end;
    ShowMessage(list);
    end;
    так что ли?

  3. #3
    Izg0y's Avatar

    Default Re: Поиск e-mail

    В самом простом варианте да, но интересуют варианты по парсингу в более "замусоренной" области ( нет mailto, нет пробелов до/после адреса, разный регистр, разные кодировки ).
    ,--= Реальность - это костыль для тех, кто не имеет воображения =--,

  4. #4
    Boolean's Avatar

    Default Re: Поиск e-mail

    Quote Originally Posted by Izg0y View Post
    В самом простом варианте да, но интересуют варианты по парсингу в более "замусоренной" области ( нет mailto, нет пробелов до/после адреса, разный регистр, разные кодировки ).
    без пробелов,хм, чо курим?
    хотя есть вариант через доменные зоны.

  5. #5
    Izg0y's Avatar

    Default Re: Поиск e-mail

    >без пробелов,хм, чо курим?
    Поспокойней...

    Существуют ограничение на количество возможных символов, на сами символы и прочие признаки и константы к каторым можно привязаться.

    100%-го способа не надо, надо чтоб как минимум не пропускал ( далее доп проверки будут ).
    Last edited by Izg0y; 02-11-2010 at 16:28.
    ,--= Реальность - это костыль для тех, кто не имеет воображения =--,

  6. #6
    G1yuK's Avatar

    Default Re: Поиск e-mail

    А вариант с использованием регулярных выражений?
    В некоторых языках, например python, либа с регулярками не будет сторонней
    Жить, чтобы совершенствоваться, взломать, чтобы помочь, искать и не сдаваться...

  7. #7
    Izg0y's Avatar

    Default Re: Поиск e-mail

    Было-бы идеально, но таскать с собой библиотеки возможности нет.
    Требуется использовать только то, что есть в системе ( от 2k до семёрки ).
    ,--= Реальность - это костыль для тех, кто не имеет воображения =--,

  8. #8
    Boolean's Avatar

    Default Re: Поиск e-mail

    Quote Originally Posted by Izg0y View Post
    Было-бы идеально, но таскать с собой библиотеки возможности нет.
    Требуется использовать только то, что есть в системе ( от 2k до семёрки ).
    Кстати о регулярках интересно. Библиотеки таскать.. хм а зачем. Кстати по делу видел Компонент для работы с регулярками в Delphi и Срр. Посмотрел и почитал комменты, говорят очень сложны по началу, если нужно то поищу

  9. #9
    dahaka's Avatar

    Default Re: Поиск e-mail

    :D истинные дзен-кодеры, пользуются только системными компонентами, каждый алгоритм пишут с нуля, о регулярках и не слыхивали.

    А если серьезно, то в них ничего особо сложного нет, могу посоветовать книгу Дж. Фридла
    "Регулярные выражения", после освоения будете думать "регулярками".

  10. 2 пользователя(ей) сказали cпасибо:
    Boolean (11-11-2010) G1yuK (09-11-2010)
  11. #10
    Izg0y's Avatar

    Default Re: Поиск e-mail

    Походу ток регулярки ( в винде их отрыть не удалось )

    http://habrahabr.ru/blogs/regex/55820/
    ,--= Реальность - это костыль для тех, кто не имеет воображения =--,

  12. #11
    G1yuK's Avatar

    Default Re: Поиск e-mail

    Как вариант искать слова с наличием в них двух символов @ и "." , можно еще доп.условие, не просто "." а с известными доменами первого уровня:

    @ и '.com' и тп

    Как будет время и если нужно, могу набросать на сях примерчик, ну или кто другой возьмется
    Жить, чтобы совершенствоваться, взломать, чтобы помочь, искать и не сдаваться...

+ Reply to Thread

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
All times are GMT. The time now is 01:38
vBulletin® Copyright ©2000 - 2018
www.reverse4you.org