gpt4 book ai didi

Python正则表达式解析电子邮件URL但排除公共(public)电子邮件

转载 作者:太空宇宙 更新时间:2023-11-03 17:24:22 25 4
gpt4 key购买 nike

我正在解析一个包含以下条目的文件:

xxx-yy.biz.  39405   A   156.154.66.33
mail.global.com. 3464 A 115.113.9.64
xyx xyx xyx
webmail.xyz.com. 1463 A 115.113.9.64
gmail.com. 3464 A 115.113.9.22

我正在尝试提取其中包含字符串“mail”的 URL 及其 IP 地址:

for line in (dnsfile):
match = re.search(r'(.*mail.*?)\s+(.*)\s+A\s+(.*)', line)

并且 match.group(1) 和 match.group(2) 给了我 URL 和 IP。

我想扩展此搜索,以便我不想解析公共(public)电子邮件,例如:gmail、hotmail、yahoo、mail。更一般:排除此中的单词列表搜索。

最佳答案

您可以使用否定前瞻,但需要添加开始和结束 anchor ,因此还需要 re.DOTALL 标志(使 anchor 从每行的开头和结尾匹配) ,您可以通过使用 | 连接单词列表来创建否定前瞻:

re.search(r'^(?!{})(.*mail.*?)\s+(.*)\s+A\s+(.*)$'.format('|'.join(list_of_domin)),line,re.DOTALL)

查看演示 https://regex101.com/r/bF5xQ3/1

关于Python正则表达式解析电子邮件URL但排除公共(public)电子邮件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32771209/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com