根据你上面的评论,我将重新解释这个问题 – 而不是制作一个匹配它们的正则表达式,我们将创建一个匹配它们的函数,并应用该函数来过滤域名列表包括一等域,例如google.com,amazon.co.uk.
首先,我们需要一份TLD列表.正如Greg所说,公共后缀列表是一个很好的起点.假设您已将列表解析为名为suffixes的python数组.如果这不是你喜欢的,评论,我可以添加一些代码来完成它.
suffixes = parse_suffix_list("suffix_list.txt")
现在我们需要用于识别给定域名是否与模式some-name.suffix匹配的代码:
def is_domain(d):
for suffix in suffixes:
if d.endswith(suffix):
# Get the base domain name without suffix
base_name = d[0:-(suffix.length + 1)]
# If it contains '.', it's a subdomain.
if not base_name.contains('.'):
return true
# If we get here, no matches were found
return false