affempire 发表于 2017-12-4 10:43:03

bjzhush 发表于 2017-12-4 00:39
花了几分钟帮你写了下
例如源文件为这个txt
➜~ cat x.txt


谢谢大神。你这个脚本处理速度快吗?我3G的文本文件多久能处理完呢?

affempire 发表于 2017-12-4 11:44:42

alibaba 发表于 2017-12-3 21:25
EmEditor(文本编辑器)。官方说的处理248G的文件也不在话下。然后用正则表达式把非邮箱的字符替换为空白, ...

大神 我用 正则[-0-9a-zA-Z.+_]+@[-0-9a-zA-Z.+_]+\.{2,4} 绿色高亮了所有EMAIL,问题是我如何给他取反呢?把不是emial的全部替换为空格呢?

alibaba 发表于 2017-12-4 14:43:16

零宽断言,前后邮箱夹着的那部分就是要替换空白的。不如你发一小段文本上来看看吧。

affempire 发表于 2017-12-4 15:06:42

本帖最后由 affempire 于 2017-12-4 15:12 编辑

[email protected]:7fc2ce488
[email protected]:669e7d715e402b5b3
[email protected]:12ebcb4d
[email protected]:c06fc72f7d010
格式就是这样,前面没有前缀了,就是后面带有一串字符

affempire 发表于 2017-12-4 15:12:32

alibaba 发表于 2017-12-4 14:43
零宽断言,前后邮箱夹着的那部分就是要替换空白的。不如你发一小段文本上来看看吧。 ...

[email protected]:7fc2ce488
[email protected]:669e7d715e402b5b3
[email protected]:12ebcb4d
[email protected]:c06fc72f7d010
格式就是这样,前面没有前缀了,就是后面带有一串字符

alibaba 发表于 2017-12-4 16:36:49

affempire 发表于 2017-12-4 15:12
:7fc2ce488
:669e7d715e402b5b3
:12ebcb4d


那好办啊
正则表达式::.*
替换为空白就可了

affempire 发表于 2017-12-4 17:24:41

alibaba 发表于 2017-12-4 16:36
那好办啊
正则表达式::.*
替换为空白就可了

谢谢大神 我这个办法成功了 ,但是我还是想知道怎么反选 ,也就是对[-0-9a-zA-Z.+_]+@[-0-9a-zA-Z.+_]+\.{2,4}这个正则表达式取反

bjzhush 发表于 2017-12-4 21:31:36

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

我估计有个几分钟就足够了,前提是你是SSD

bjzhush 发表于 2017-12-4 21:32:20

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

不送几个积分吗?哈哈哈哈

alibaba 发表于 2017-12-5 16:23:42

affempire 发表于 2017-12-4 17:24
谢谢大神 我这个办法成功了 ,但是我还是想知道怎么反选 ,也就是对[-0-9a-zA-Z.+_]+@[-0-9a-zA-Z.+_]+\. ...

简单的问题复杂化了。
有时候用正则获取非邮箱部分,和用正则获取非用正则获取的邮箱的部分,就不是一回事。
最好是具体问题具体分析吧,通用性不一定都存在。

affempire 发表于 2017-12-6 14:49:38

alibaba 发表于 2017-12-5 16:23
简单的问题复杂化了。
有时候用正则获取非邮箱部分,和用正则获取非用正则获取的邮箱的部分,就不是一回 ...
大神,昨天的事情是一个冒号,用那个正则表达式处理了 ,今天又遇到两个冒号的内容如下
100:[email protected]:SGSDGKDGMDGKKKKKJJ
200:[email protected]:IFJFHGDFJDJFDJFDJFDJJ
300:[email protected]:FKIFHFHFHFJDFJFN
我要想提取中间的email那么正则该怎么写呢??
还有EmEditor中好像不能复制粘贴正则选中的内容,要不用这个正则 [-0-9a-zA-Z.+_]+@[-0-9a-zA-Z.+_]+\.{2,4}可以选中高亮所有enail再复制粘贴

alibaba 发表于 2017-12-6 15:22:33

affempire 发表于 2017-12-6 14:49
大神,昨天的事情是一个冒号,用那个正则表达式处理了 ,今天又遇到两个冒号的内容如下
100:asdffg@gmail. ...

你要的是中间部分的邮箱,不一定非得要用正则去匹配邮箱,能达成要求就成。
在这里例子中,分2步走,去掉首尾,剩下的可以不就是邮箱了嘛。
第一步:^.*?:,替换为空白,去掉了首部。
第二部::.*,替换为空白,去掉了尾部。
剩下就是想要的邮箱了,还不用选中,复制,粘贴什么的。


页: 1 [2]
查看完整版本: 求助从大文本中提取邮件地址