上記のコメントに基づいて、質問を再解釈します-それらに一致する正規表現を作成するのではなく、それらに一致する関数を作成し、その関数を適用してドメイン名のリストをフィルタリングしますgoogle.com、amazon.co.uk などのファースト クラス ドメインを含めます。
まず、TLD のリストが必要です。Greg が述べたように、public suffix リストは出発点として最適です。リストを と呼ばれる python 配列に解析したと仮定しましょうsuffixes。これが気に入らない場合は、コメントしてください。それを行うコードを追加できます。
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