我使用以下代码在文本文件中查找所有域(尽我所能)。问题是它没有找到任何东西。我已经在regex101上测试了正则表达式并且匹配正常。任何人都可以指出这个问题吗? Tld.txt包含完整的小写TLD列表,因为我想搜索所有这些。
修改
Tld.txt看起来像这样 -
com in
domains.txt看起来像这样 -
mplay.google.co.in play.google.com
代码
import re
with open("tld.txt", "r") as f:
tld = f.read().splitlines()
with open("domains.txt","r") as f:
domains = f.read().splitlines()
for x in tld:
regex = "^(.*?)"+str(x)
for y in domains:
domains_found = re.findall(regex, y)
print domains_found
答案 0 :(得分:1)
您正在打印最后一个结果,因为您没有将结果添加到domains_found
,而是替换其内容。你刚试过这个吗?
import re
with open("tld.txt", "r") as f:
tld = f.read().splitlines()
with open("domains.txt","r") as f:
domains = f.read().splitlines()
for x in tld:
regex = "^(.*?)"+str(x)
for y in domains:
domains_found = re.findall(regex, y)
print domains_found
或更好
domains_found.extend(re.findall(regex, y))