Есть у кого пример реализации эффективного поиска e-mail адресов?
Желательно в сорсах и без использования сторонних библиотек.
Есть у кого пример реализации эффективного поиска 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;
В самом простом варианте да, но интересуют варианты по парсингу в более "замусоренной" области ( нет mailto, нет пробелов до/после адреса, разный регистр, разные кодировки ).
,--= Реальность - это костыль для тех, кто не имеет воображения =--,
>без пробелов,хм, чо курим?
Поспокойней...
Существуют ограничение на количество возможных символов, на сами символы и прочие признаки и константы к каторым можно привязаться.
100%-го способа не надо, надо чтоб как минимум не пропускал ( далее доп проверки будут ).
Last edited by Izg0y; 02-11-2010 at 16:28.
,--= Реальность - это костыль для тех, кто не имеет воображения =--,
А вариант с использованием регулярных выражений?
В некоторых языках, например python, либа с регулярками не будет сторонней
Жить, чтобы совершенствоваться, взломать, чтобы помочь, искать и не сдаваться...
Было-бы идеально, но таскать с собой библиотеки возможности нет.
Требуется использовать только то, что есть в системе ( от 2k до семёрки ).
,--= Реальность - это костыль для тех, кто не имеет воображения =--,
:D истинные дзен-кодеры, пользуются только системными компонентами, каждый алгоритм пишут с нуля, о регулярках и не слыхивали.
А если серьезно, то в них ничего особо сложного нет, могу посоветовать книгу Дж. Фридла
"Регулярные выражения", после освоения будете думать "регулярками".
Походу ток регулярки ( в винде их отрыть не удалось )
http://habrahabr.ru/blogs/regex/55820/
,--= Реальность - это костыль для тех, кто не имеет воображения =--,
Как вариант искать слова с наличием в них двух символов @ и "." , можно еще доп.условие, не просто "." а с известными доменами первого уровня:
@ и '.com' и тп
Как будет время и если нужно, могу набросать на сях примерчик, ну или кто другой возьмется
Жить, чтобы совершенствоваться, взломать, чтобы помочь, искать и не сдаваться...