![]() |
Парсинг mail'ов
Есть список txt, а в нём куча мылов, в перемешку с текстом
Нужно выпарсить все майлы, и создать список майлов, чтобы не повторялись... Навеярняка уже есть готовые скрипты.. Выложите плиз :) |
В файл text.txt кидаешь всё что надо отпарсить
В конце получишь мыла в файле pars_emails.txt #!/usr/bin/perl -w open (FILE , "<text.txt"); chomp (@text = <FILE>); close FILE; undef %saw; while (@text) { $pars = shift @text; $pars =~ /\b(.*?)\@(.*?)\.(.{2,4})/g; $email = "$1\@$2\.$3"; push @in,$email; } @in = grep(!$saw{$_}++, @in); open (FILE2 , ">>pars_emails.txt"); while (@in) { $end = shift @in; print FILE2 "$end\n"; } close FILE2; |
PHP код:
|
TheSoul, твой вариант не подойдет хотя бы потому что в адресах с зоной домена из 4-х букв домен будет урезан до 3-х (например вместо mail.info будет mail.inf), что не есть гуд!
eLWAux, а у тебя если в адресе будет -(тире) или .(точка) , то они будут проигнорированы, т.е. \w проверяет только состоит ли текст только из букв, цифр и символов подчеркивания. поэтому предлагаю в качестве регулярки для поиска следующее: Код:
(.*) ([\w+\-\.]+\@[\w\-\.]+\.\w{2,4}) (.*) |
Допустим меня интересует для БД в формате .sql
|
Цитата:
|
Цитата:
SELECT email_column FROM table_name |
| Время: 18:20 |