【发布时间】:2018-01-09 22:43:45
【问题描述】:
我目前有一个 python 程序,它使用正则表达式来列出文档中的所有电子邮件地址,并将它们各自放在新文档中的自己的行中。像这样工作:
with open (self.originalEntry.get(), 'r') as doc:
text = doc.read()
match = re.findall(r'[\w\.-]+@[\w\.-]+', text)
with open (self.namesEntry.get(), 'a') as pi:
for i in match:
i = str(i)
pi.write(i+ '\n')
我想对其进行更改以列出每个电子邮件地址除了来自给定域(即 any@thiswebsite.com)的电子邮件地址。我一直在寻找有关 RE 运营商的所有信息在 python 的站点上,并且无法找到一种方法来构建 re.findall 运算符的异常。是否可以通过这种方式编写一个表达式来查找所有电子邮件地址减去某个域中的电子邮件地址,还是我应该做其他事情?
【问题讨论】:
-
为什么不直接获取结果列表,然后从列表中删除?
-
您可以使用“负前瞻” - 请参阅docs.python.org/2/library/re.html