AdvertCN - 广告中国

 找回密码
 立即注册

QQ登录

只需一步,快速开始

PropellerAds
Google-Bing-Mediago-Criteo开户
⚡️按条S5代理⚡️静态⚡️独享⚡️5G广告专用虚拟卡/U充值/高返点皇家代理IP⚡️#1性价比⚡️
Mediabuy⚡️玩家开户首选【鲁班跨境通-自助充值转账】FB/GG/TT❤️官方免费开户Affiliate 全媒体流量资源⚡️
Taboola/Outbrain /Bing⚡️一级代理开户投流-7*24h❤️人工在线【官方】❤️搜索套利买量投流开户独立站⚡️开户投放
⚡️AdsPower:安全不封号,高效自动化Google FB TK游戏代投⚡️E.PN 虚拟卡⚡️BINOM TRACKER 60% OFF!
比Adplexity还好用的Spy工具ADPLEXITY + ADVERTCN7200W全球动态不重复住宅IP代理虚拟信用卡+独立站收款
全球虚拟卡, 支持U充值各种主页、账单户、BM户(优势)⚡️TikTok企业户,bm户,账单户IPCola原生住宅IP⚡️$1.8/条双ISP
FB海外户、GG老户、TK加白老户PTM虚拟卡[全新卡BIN+高返点]FB虚拟卡⚡️消费越多返现越多最大欧洲Nutra网盟BA找量
高品质·稳定高速纯净IP FB个号1块一个TikTok2审户/老户/国内外端口/加白SX.ORG 高质量代理⚡235+ 地区
GG,FB,TK, 欧美源头, 欢迎合作❤️跨境债务催收/风险代理高权重Google老户[卖户+筛户等级] 海外斗篷・智能广告过审率高达 99%
DataImpulse⚡️纯净住宅代理仅 $1FB企业户海外户,授信户,TK加白户广告位出租8500万高质量住宅IP,助力各种需求
虚拟卡返佣1%,国内持牌机构   
查看: 27682|回复: 26

[讨论] 求助从大文本中提取邮件地址

[复制链接]

38

主题

2566

广告币

2773

积分

高级会员

Rank: 4

积分
2773

社区QQ达人

发表于 2017-12-1 00:08:03 | 显示全部楼层 |阅读模式
本人有一个1G大的文本文件,里面是一些乱七八糟的文字,但是有部分邮箱地址 ,我想把这些邮箱地址提取出来 ,有什么好办法吗?试了好几个提取工具,连文本都打不开,打开文本超过5M就没反应了,有更好的办法吗?江湖救急!!谢谢!!!
  h/ E( z# B' F- F. z. z" T; p
相关帖子
回复

使用道具 举报

23

主题

1323

广告币

2271

积分

高级会员

Rank: 4

积分
2271

社区QQ达人

发表于 2017-12-1 00:14:04 | 显示全部楼层
PHP 一行一行的读取 然后从每一行里面正则表达式去匹配邮箱 应该是可以搞定的
回复 支持 1 反对 0

使用道具 举报

55

主题

105

广告币

647

积分

中级会员

Rank: 3Rank: 3

积分
647

社区QQ达人

发表于 2017-12-1 08:30:59 | 显示全部楼层
1G  分分钟搞定
回复 支持 反对

使用道具 举报

3

主题

38

广告币

58

积分

初级会员

Rank: 2

积分
58

社区QQ达人

发表于 2017-12-1 08:39:37 | 显示全部楼层
[\w!#$%&'*+/=?^_`{|}~-]+(?:\.[\w!#$%&'*+/=?^_`{|}~-]+)*@(?:[\w](?:[\w-]*[\w])?\.)+[\w](?:[\w-]*[\w])?" C* k/ m9 C. f% O* _: Y& ~  ~* R
这个正则可以匹配,不过具体要用其他工具来实现匹配。

评分

参与人数 2广告币 +7 收起 理由
风儿 + 5 赞一个!
chable + 2 可以结合使用EMEDITOR

查看全部评分

回复 支持 反对

使用道具 举报

2

主题

314

广告币

444

积分

中级会员

Rank: 3Rank: 3

积分
444

社区QQ达人

发表于 2017-12-1 08:50:15 | 显示全部楼层
懂点编程的话用读取字节的IO函数读取加转换处理,3个G大小没问题,再大就用内存映射的方法。
8 ?/ J6 h; w& w/ a* L, ~$ C6 _1 s/ t" k2 K6 \* q' s  c
不懂编程的话先将大文本分割成很多个小文件,再用你找到的那些工具处理。
QQ:2696779792
回复 支持 反对

使用道具 举报

60

主题

826

广告币

2053

积分

高级会员

Rank: 4

积分
2053

社区QQ达人

发表于 2017-12-1 09:46:01 | 显示全部楼层
hadoop,3个t也能给你搞了
回复 支持 反对

使用道具 举报

53

主题

777

广告币

1438

积分

高级会员

Rank: 4

积分
1438

社区QQ达人

发表于 2017-12-1 10:31:22 | 显示全部楼层
写个正则匹配。。。。
我是C罗!!!
回复 支持 反对

使用道具 举报

12

主题

1999

广告币

2576

积分

高级会员

Rank: 4

积分
2576

社区QQ达人

发表于 2017-12-1 12:07:47 | 显示全部楼层
各显神通.~~  我就找个漂亮的小妹 让她慢慢处理吧...
回复 支持 反对

使用道具 举报

38

主题

2566

广告币

2773

积分

高级会员

Rank: 4

积分
2773

社区QQ达人

 楼主| 发表于 2017-12-1 12:28:08 来自手机 | 显示全部楼层
大神真多啊!有没有现成的工具推荐一下?自己编程太麻烦了
回复 支持 反对

使用道具 举报

3

主题

38

广告币

58

积分

初级会员

Rank: 2

积分
58

社区QQ达人

发表于 2017-12-1 13:09:44 | 显示全部楼层
http://tool.oschina.net/regex#' u' ]6 L- B4 Y; X
本来想自己写一个python脚本,不过中午折腾rb格式,没折腾出来。
( q9 D0 A( }9 M$ `目前手动比较方便一点的就是,把内容放到上面这个正则工具里,点击右边的匹配邮箱,然后点击测试匹配。下面邮箱就全部匹配了。
3 {9 {5 c0 M& K8 O* b7 M  x/ N- A鼠标移动上去,拉取,选中,复制到其他txt,excel里。搞定。

评分

参与人数 1广告币 +5 收起 理由
风儿 + 5

查看全部评分

回复 支持 反对

使用道具 举报

103

主题

1827

广告币

2706

积分

高级会员

Rank: 4

积分
2706

社区QQ达人

发表于 2017-12-1 13:31:21 | 显示全部楼层
EDITPLUS+正则
回复 支持 反对

使用道具 举报

38

主题

2566

广告币

2773

积分

高级会员

Rank: 4

积分
2773

社区QQ达人

 楼主| 发表于 2017-12-1 17:15:30 | 显示全部楼层
大神们 是1G的文本文件 不可能手工粘贴上去。更不是一个文本编辑器能处理的
回复 支持 反对

使用道具 举报

27

主题

1057

广告币

2681

积分

高级会员

Rank: 4

积分
2681
发表于 2017-12-3 21:25:04 | 显示全部楼层
EmEditor(文本编辑器)。官方说的处理248G的文件也不在话下。然后用正则表达式把非邮箱的字符替换为空白,把邮箱留下就可以了。

点评

大神 我用 正则[-0-9a-zA-Z.+_]+@[-0-9a-zA-Z.+_]+\.[a-zA-Z]{2,4} 绿色高亮了所有EMAIL,问题是我如何给他取反呢?把不是emial的全部替换为空格呢?  详情 回复 发表于 2017-12-4 11:44
大神能给个正则表达式替换的例子吗?  详情 回复 发表于 2017-12-3 23:01

评分

参与人数 1广告币 +2 收起 理由
affempire + 2 NB!

查看全部评分

回复 支持 反对

使用道具 举报

38

主题

2566

广告币

2773

积分

高级会员

Rank: 4

积分
2773

社区QQ达人

 楼主| 发表于 2017-12-3 23:01:50 | 显示全部楼层
alibaba 发表于 2017-12-3 21:25
0 a* K) n+ K7 f4 HEmEditor(文本编辑器)。官方说的处理248G的文件也不在话下。然后用正则表达式把非邮箱的字符替换为空白, ...

. P2 {' S- Z4 K; [大神能给个正则表达式替换的例子吗?
回复 支持 反对

使用道具 举报

19

主题

290

广告币

532

积分

中级会员

Rank: 3Rank: 3

积分
532

社区QQ达人

发表于 2017-12-4 00:39:19 | 显示全部楼层
本帖最后由 bjzhush 于 2017-12-4 00:45 编辑
+ k0 Q; M3 S5 g& ~* L9 f0 ^9 V( z
" p5 o4 a% m. P花了几分钟帮你写了下
, ]6 [, `9 h: N例如源文件为这个txt. m; |: _6 O, d; `9 T  g" n
➜  ~ cat x.txt; K5 c1 @( L( B0 e. P
hitest! R- u% g$ w7 f. z$ K- s# C
test@qq.com
7 `0 ^" b7 m2 |% P$ q" T0 i: ghi  testb@qq.com test
% d9 }: V7 Z  \3 r* |0 ~! o! ya@qq.com  b@qq.com; t: o# x; S: }0 a5 \. H0 M
执行后,得到result.txt  K* s2 p" t! ?& g1 y5 R3 z
➜  ~ cat result.txt
( i; `/ \: J/ a" O+ V; }. r0 o  ztest@qq.com; A9 v/ @2 Z+ W
testb@qq.com2 G' \( R& L# X) @/ t8 S$ F
a@qq.com- L/ P( f; P( r% s
b@qq.com" y+ W/ @" }8 D2 z
, z# J+ A% d% @. a+ \4 }5 d; o" J
代码如下:: M, S* l. \8 r/ L) b
  1. <?php9 E4 q6 N% i- j- I3 G, Q
  2. $file = 'x.txt';
    $ ~4 U" O/ r; Q; h2 I
  3. $fp = fopen($file, 'r');
    8 [6 _% S; l- f7 f
  4. if (!$fp) {
    + |: ?+ R( ]0 ~8 c1 O5 b  S
  5.     exit('failed to open'.$file);
    : h; t" s4 o, _9 Y0 a7 e0 p/ G
  6. }
    - G4 m+ e$ T! {. f- ^% u! N% {7 s
  7. $lineNumber = 0;2 A+ X2 _' P+ x3 t/ L0 g, X; L( j5 q
  8. while($line = fgets($fp)) {
    : p$ A9 C+ e3 ]9 l* m& m! k/ S/ [
  9.     $lineNumber++;
    8 `  O2 c9 h$ }/ `' w! p1 E
  10.     $pattern = '/[a-z0-9_\-\+]+@[a-z0-9\-]+\.([a-z]{2,4})(?:\.[a-z]{2})?/i';
    % a& q4 H, q# ]! U  J6 L, c
  11.     preg_match_all($pattern, $line, $matches);
    4 F. W: l# T1 j0 \; C1 F% z0 Q: j0 s
  12.     if (!empty($matches[0])) {, W( J; Z2 f, m; M3 U! K( X
  13.         foreach ($matches[0] as $mail) {+ ?; t. P! p6 J7 U( S6 k
  14.             echo $mail.' found from line '.$lineNumber.PHP_EOL;2 \4 y* b9 q8 Q4 z& O) r" J
  15.             file_put_contents('result.txt', $mail.PHP_EOL, FILE_APPEND);' Q3 l" t5 _9 ^6 I6 x
  16.         }
    & ]) n2 r& D2 ?4 \4 f# q
  17.     }' E5 c3 F2 H* V
  18. }/ w+ t- l# H9 b8 ?/ ^
  19. echo "All Done";" a6 p) Z+ G5 ^
复制代码
功能:支持提取一行多个email地址,结果全部保存到result.txt ,没有做去重
( i3 I2 j) j% K: b. F# N, \. L使用:代码里面的源文件是x.txt ,可以换成你自己的文件名,php保存为getMail.php  然后  php getMail.php 结果保存在result.txt里面

点评

谢谢大神。你这个脚本处理速度快吗?我3G的文本文件多久能处理完呢?  详情 回复 发表于 2017-12-4 10:43

评分

参与人数 2广告币 +7 收起 理由
leeker + 5 乐于助人
iyahoo + 2 很给力!

查看全部评分

回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关于我们|联系我们|DMCA|广告服务|小黑屋|手机版|Archiver|Github|网站地图|AdvertCN

GMT+8, 2026-4-6 04:27 , Processed in 0.056019 second(s), 16 queries , Gzip On, MemCache On.

Copyright © 2001-2023, AdvertCN

Proudly Operating in Hong Kong.

快速回复 返回顶部 返回列表