Я ищу the regex для проверки имен хостов. Он должен полностью соответствовать стандарту. Прямо сейчас у меня есть
^[0-9a-z]([0-9a-z\-]{0,61}[0-9a-z])?(\.[0-9a-z](0-9a-z\-]{0,61}[0-9a-z])?)*$
но он позволяет использовать последовательные подменю и имена хостов длиной более 255 символов. Если идеальное регулярное выражение невозможно, скажите так.
Изменить/уточнить: поиск Google не показал, что это проблема (или доказанная неразрешимая). Я хочу создать окончательное регулярное выражение, так что никто не должен писать его когда-либо. Если диалекты имеют значение, я хочу, чтобы для каждой из них была версия, в которой это можно сделать.