Какое регулярное выражение будет соответствовать допустимому доменному имени без поддомена?

Во-первых, извините за 10 000-й вопрос о регулярном выражении,

Я понимаю, что есть и другие вопросы, связанные с доменом, но регулярное выражение либо не работает должным образом, слишком сложно, либо для URL-адресов с поддоменами, протоколами и путями к файлам.

У меня все проще, мне нужно подтвердить доменное имя:

google.com

stackoverflow.com

Итак, домен в его самой необработанной форме — даже не поддомен, такой как www.

  1. Символы должны быть только a-z| А-Я| 0-9и точка(.) и тире(-)
  2. Часть доменного имени не должна начинаться или заканчиваться тире (-) (например, -google-.com)
  3. Часть доменного имени должна содержать от 1 до 63 символов
  4. Расширение (TLD) может быть любым в соответствии с правилами № 1 на данный момент, я могу проверить их по списку позже , это должно быть 1 или более символов, хотя

Редактировать: TLD, по-видимому, состоит из 2-6 символов в его нынешнем виде

нет. 4 исправлено: TLD должен быть помечен как «субдомен», поскольку он должен включать такие вещи, как .co.uk -- Я полагаю, что единственная возможная проверка (кроме проверки по списку) будет заключаться в том, что "после первой точки должен быть один или несколько символов в соответствии с правилами № 1

Большое спасибо, поверьте мне, я пытался!

106
задан John Bachir 24 January 2018 в 22:08
поделиться