我想从一个大的文本文件中提取电子邮件地址。做这件事最好的方法是什么?
我的想法是在文本中找到'@',并使用"Regex“在这个位置和长度512之前在(例如)256个字符处找到电子邮件地址。
P.S.:直截了当地说,我想知道在一个巨大的文本中找到一些模式(比如电子邮件地址)的最好和最有效的方法。
发布于 2010-05-11 22:11:48
256和512听起来像任意值。
电子邮件地址的本地部分可能长达64个字符,域名最多可能有255个字符。
所以这些价值会更好。
现在结合这两种方法和瞧,你就有了你的算法。
发布于 2010-05-11 22:26:06
发布于 2010-05-11 23:53:15
如果您绝对需要最有效的方法,我认为不应该使用正则表达式。
假设文本中几乎所有的@
实例都是电子邮件地址,并且您使用的是一种具有快速前向和后向字符串遍历的语言,则该方法可能接近最快的:
@
@
后的每个字符,以确保它们在允许的ASCII范围内@
符号向后搜索,比较每个字符以确保它们在本地组件的有效字符范围内。https://stackoverflow.com/questions/2816358
复制