正则表达式搜索域的文本文件

时间:2017-05-10 17:13:56

标签: python regex

我使用以下代码在文本文件中查找所有域(尽我所能)。问题是它没有找到任何东西。我已经在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

1 个答案:

答案 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))