当前位置: 首页 > 面试题库 >

从大型文档中提取电子邮件子字符串

空俊语
2023-03-14
问题内容

我有一个非常大的.txt文件,其中散布着成千上万个电子邮件地址。它们都采用以下格式

...<name@domain.com>...

使Python循环遍历整个.txt文件以查找某个@domain字符串的所有实例,然后在<…>内获取地址的全部并将其添加到的最佳方法是什么?一个列表?我遇到的麻烦是不同地址的长度可变。


问题答案:

此代码以字符串形式提取电子邮件地址。逐行阅读时使用

>>> import re
>>> line = "should we use regex more often? let me know at  321dsasdsa@dasdsa.com.lol"
>>> match = re.search(r'[\w\.-]+@[\w\.-]+', line)
>>> match.group(0)
'321dsasdsa@dasdsa.com.lol'

如果您有多个电子邮件地址,请使用findall

>>> line = "should we use regex more often? let me know at  321dsasdsa@dasdsa.com.lol"
>>> match = re.findall(r'[\w\.-]+@[\w\.-]+', line)
>>> match
['321dsasdsa@dasdsa.com.lol', 'dadaads@dsdds.com']

上面的正则表达式可能会找到最常见的非虚假电子邮件地址。如果要完全符合RFC
5322
,则应检查遵循该规范的电子邮件地址。请检查[此内容](https://stackoverflow.com/questions/201323/using-

**编辑:**@kostek的注释中建议:在字符串中,Contact us atsupport@example.com.我的正则表达式返回support@example.com。(最后一个点)。为了避免这种情况,请使用[\w\.,]+@[\w\.,]+\.\w+)

编辑II: 评论中提到了另一个出色的改进:[\w\.-]+@[\w\.-]+\.\w+还将捕获example@do-main.com。



 类似资料:
  • 问题内容: 我正在尝试从现有评论字段中提取电子邮件地址,并将其放入自己的列中。该字符串可能是这样的:“这是示例示例,电子邮件地址为someemail@domain.org”,或者从字面上看,电子邮件本身为“ someemail@domain.org”。 我认为最好的办法是找到’@’符号的索引并在两个方向上搜索,直到命中字符串的末尾或有空格为止。谁能帮我实现这一实现? 问题答案: 您可以在字符串中搜

  • 我在试着从他的电子邮件里得到一个用户名。我知道有一些简单的方法可以实现这一点,但它让我怀疑我是否可以只使用Regex来实现这一点。 让我们假设用户输入以下电子邮件:user.sure_name123@mail.co 从该字符串中,我想提取:user sure name

  • 问题内容: 在PHP中,我有一个像这样的字符串: 我如何仅获取电子邮件地址?有什么简单的方法来获取价值? 问题答案: 如果您不确定用空格分隔的字符串的哪一部分是电子邮件地址,则可以将字符串按空格分隔并使用 在每个子串上。

  • 我正在使用JavaLibpst查看其中包含哪些电子邮件和电子邮件附件。现在,请建议一种方法,将PST文件中的或和电子邮件附件提取到本地文件夹中。

  • 查看以下,详细了解如何处理与 iPhone 手机配对的 M600 上的电子邮件。 阅读您的 M600 上的电子邮件 如果您在手机上使用电子邮件通知,那么在您收到新邮件时会在您的 M600 看到通知。 阅读电子邮件 轻触通知。 利用您的 M600 回复电子邮件 您可以利用您的手腕表回复邮件。 回复电子邮件 轻触通知查看所有邮件 从屏幕底部向上滑动,查看您可以执行的操作。 轻触 Reply(回复),并

  • Email的历史比Web还要久远,直到现在,Email也是互联网上应用非常广泛的服务。 几乎所有的编程语言都支持发送和接收电子邮件,但是,先等等,在我们开始编写代码之前,有必要搞清楚电子邮件是如何在互联网上运作的。 我们来看看传统邮件是如何运作的。假设你现在在北京,要给一个香港的朋友发一封信,怎么做呢? 首先你得写好信,装进信封,写上地址,贴上邮票,然后就近找个邮局,把信仍进去。 信件会从就近的小