AdvertCN - 广告中国

 找回密码
 立即注册

QQ登录

只需一步,快速开始

PropellerAds
Google-Bing-Mediago-Criteo开户
⚡️按条S5代理⚡️静态⚡️独享⚡️5G广告专用虚拟卡/U充值/高返点皇家代理IP⚡️#1性价比⚡️
Mediabuy⚡️玩家开户首选【鲁班跨境通-自助充值转账】FB/GG/TT❤️官方免费开户Affiliate 全媒体流量资源⚡️
Taboola/Outbrain /Bing⚡️一级代理开户投流-7*24h❤️人工在线【官方】❤️搜索套利买量投流开户独立站⚡️开户投放
⚡️AdsPower:安全不封号,高效自动化⚡️E.PN 虚拟卡⚡️FB BM不限额,短id账单户BINOM TRACKER 60% OFF!
比Adplexity还好用的Spy工具ADPLEXITY + ADVERTCN7200W全球动态不重复住宅IP代理虚拟信用卡+独立站收款
全球虚拟卡, 支持U充值Facebook 批量上广告尤里改 - FB 稳定投放免费黑五教程(持续更新、欢迎交流)
FB 三不限源头 - 自助下户充值转款各种主页、账单户、BM户(优势)⚡️TikTok企业户,bm户,账单户提供TK企业新户老户、谷歌新户老户
PTM虚拟卡[全新卡BIN+高返点]FB虚拟卡⚡️消费越多返现越多最大欧洲Nutra网盟BA找量优质住宅/移动代理/高匿名/高性能
TK白名单老户|兼职广告可投⚡比特指纹浏览器+云手机, 4.5折起T3NZU:定义应用网盟新时代FB个人号源头服务商
寻找顶级电商?AdsBranded等你!TK老户/国内外端口/预审/加白广告位出租8500万高质量住宅IP,助力各种需求
虚拟卡返佣1%,国内持牌机构   
查看: 27347|回复: 26

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

[复制链接]

38

主题

2555

广告币

2763

积分

高级会员

Rank: 4

积分
2763

社区QQ达人

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

使用道具 举报

23

主题

1299

广告币

2244

积分

高级会员

Rank: 4

积分
2244

社区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])?
1 S0 C/ k# f" A8 C/ ^8 S8 L+ _这个正则可以匹配,不过具体要用其他工具来实现匹配。

评分

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

查看全部评分

回复 支持 反对

使用道具 举报

2

主题

314

广告币

444

积分

中级会员

Rank: 3Rank: 3

积分
444

社区QQ达人

发表于 2017-12-1 08:50:15 | 显示全部楼层
懂点编程的话用读取字节的IO函数读取加转换处理,3个G大小没问题,再大就用内存映射的方法。
& E' x! a6 T  `: M; a9 \/ R4 E
1 x3 M( a6 r9 g0 Z- h* O不懂编程的话先将大文本分割成很多个小文件,再用你找到的那些工具处理。
QQ:2696779792
回复 支持 反对

使用道具 举报

60

主题

813

广告币

2041

积分

高级会员

Rank: 4

积分
2041

社区QQ达人

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

使用道具 举报

52

主题

761

广告币

1422

积分

高级会员

Rank: 4

积分
1422

社区QQ达人

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

使用道具 举报

12

主题

1971

广告币

2550

积分

高级会员

Rank: 4

积分
2550

社区QQ达人

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

使用道具 举报

38

主题

2555

广告币

2763

积分

高级会员

Rank: 4

积分
2763

社区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#( {7 C8 ^) {* o9 Q, ~
本来想自己写一个python脚本,不过中午折腾rb格式,没折腾出来。, Q: `# K3 X, p( L4 w. H
目前手动比较方便一点的就是,把内容放到上面这个正则工具里,点击右边的匹配邮箱,然后点击测试匹配。下面邮箱就全部匹配了。
( @8 j$ W4 b" L; L( R3 ~! U鼠标移动上去,拉取,选中,复制到其他txt,excel里。搞定。

评分

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

查看全部评分

回复 支持 反对

使用道具 举报

103

主题

1826

广告币

2706

积分

高级会员

Rank: 4

积分
2706

社区QQ达人

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

使用道具 举报

38

主题

2555

广告币

2763

积分

高级会员

Rank: 4

积分
2763

社区QQ达人

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

使用道具 举报

27

主题

1056

广告币

2680

积分

高级会员

Rank: 4

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

评分

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

查看全部评分

回复 支持 反对

使用道具 举报

38

主题

2555

广告币

2763

积分

高级会员

Rank: 4

积分
2763

社区QQ达人

 楼主| 发表于 2017-12-3 23:01:50 | 显示全部楼层
alibaba 发表于 2017-12-3 21:25
+ ?8 `5 L& ]+ J" @2 L8 B( `EmEditor(文本编辑器)。官方说的处理248G的文件也不在话下。然后用正则表达式把非邮箱的字符替换为空白, ...

0 h) E1 l8 {% `6 U, \大神能给个正则表达式替换的例子吗?
回复 支持 反对

使用道具 举报

19

主题

290

广告币

532

积分

中级会员

Rank: 3Rank: 3

积分
532

社区QQ达人

发表于 2017-12-4 00:39:19 | 显示全部楼层
本帖最后由 bjzhush 于 2017-12-4 00:45 编辑 / W# x  X# G+ M6 p

. l) r# H$ v' l. m% l3 t花了几分钟帮你写了下
6 P$ v% b  K' `& [) K% r; \例如源文件为这个txt  U  j3 V/ }5 l) W2 k# C
➜  ~ cat x.txt
+ N: {0 B2 g1 e8 k  q! ohitest1 s3 Y4 a0 |6 F. T
[email protected]
3 j* X5 q. o, |6 q% D7 ^hi  [email protected] test+ c+ E5 h/ y3 e  u) A+ I
[email protected]  [email protected]
5 F2 I7 f# z* \: A# p: T执行后,得到result.txt
; @4 `; p8 n9 E2 E/ Q5 Z0 A' [➜  ~ cat result.txt 6 v0 n- h, J" U- m) E8 H" [0 B
[email protected]# j3 R6 j% `) T$ {! r+ {
[email protected]9 m* h- |5 z: M2 d; E
[email protected]
5 a* ^3 g' q; ^/ a- h1 R[email protected]
/ K4 I' s+ {% K( J8 E; s# {4 I+ |) n, c- ~. ~9 ]& a
代码如下:
( g; K& }: N/ S) d7 r: d
  1. <?php+ {, u9 ^: @0 L: a( _; A  D& ^
  2. $file = 'x.txt';  F3 g9 y7 l8 u. ]
  3. $fp = fopen($file, 'r');6 K/ F7 b9 B: t0 F
  4. if (!$fp) {
    9 }/ I5 y/ \4 ?7 v; |4 ~# g* @/ m
  5.     exit('failed to open'.$file);8 z4 A: W$ d4 h$ }; j8 D
  6. }
    6 q. Q% U4 Q3 c* E
  7. $lineNumber = 0;
    1 W1 g" \7 A7 ^
  8. while($line = fgets($fp)) {/ _9 a! T; Z8 p0 W
  9.     $lineNumber++;  n' s2 Q# D2 x  u0 r! l
  10.     $pattern = '/[a-z0-9_\-\+]+@[a-z0-9\-]+\.([a-z]{2,4})(?:\.[a-z]{2})?/i';
    * @3 \. E, i: O  C
  11.     preg_match_all($pattern, $line, $matches);
    * d! M3 a5 R) z% D- f# x
  12.     if (!empty($matches[0])) {. K0 A- I5 @, b) n! ^
  13.         foreach ($matches[0] as $mail) {5 [* m; G! ]8 G7 s2 z' x0 V) w1 X
  14.             echo $mail.' found from line '.$lineNumber.PHP_EOL;' N2 l. B) ~7 A( a8 V7 I/ ^
  15.             file_put_contents('result.txt', $mail.PHP_EOL, FILE_APPEND);
    / z. q% M0 ?6 V% e# W' U
  16.         }
    8 W# T" A9 c2 r6 E
  17.     }
    - U, J0 m# Z& v! h9 x: w  D: H; F
  18. }
    6 {) W  ~( t0 M7 ^, P0 O! L! V
  19. echo "All Done";
    : X8 r1 W. l7 h
复制代码
功能:支持提取一行多个email地址,结果全部保存到result.txt ,没有做去重
& p7 ~0 w6 P/ I. j; d; e- s使用:代码里面的源文件是x.txt ,可以换成你自己的文件名,php保存为getMail.php  然后  php getMail.php 结果保存在result.txt里面

评分

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

查看全部评分

回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-12-19 23:03 , Processed in 0.070705 second(s), 19 queries , Gzip On, MemCache On.

Copyright © 2001-2023, AdvertCN

Proudly Operating in Hong Kong.

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