【发布时间】:2015-12-22 15:19:34
【问题描述】:
我正在解析一个包含以下条目的文件:
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。
我想扩大这个搜索范围,这样我就不想解析公共电子邮件,例如:gmail、hotmail、yahoo、mail。更一般:排除此中的单词列表 搜索。
【问题讨论】:
-
普通正则表达式无法做到这一点,但“消极的前瞻断言”可能会对您有所帮助。见stackoverflow.com/questions/2078915/… 和stackoverflow.com/questions/1395177/…