Исходя из вашего комментария выше, я собираюсь переосмыслить вопрос - вместо создания регулярного выражения, которое будет соответствовать им, мы создадим функцию, которая будет соответствовать им, и применим эту функцию для фильтрации списка доменаимена включают только домены первого класса, например, google.com, amazon.co.uk.
Сначала нам понадобится список TLD.Как упоминал Грег, общедоступный список суффиксов - отличное место для начала.Предположим, вы проанализировали список в массиве 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