Я пытаюсь создать регулярное выражение для grep, которое соответствует только действительным доменам.grep valid domain regex
Моя версия работает очень хорошо, но соответствовать следующему недопустимый домен:
@subdom..dom.ext
Вот мое регулярное выражение:
echo "@dom.ext" | grep "^@[[:alnum:]]\+[[:alnum:]\-\.]\+[[:alnum:]]\+\.[[:alpha:]]\+\$"
Я работаю с Баш, так что я бежал специальные символы.
образец, который должен соответствовать:
@subdom.dom.ext
@subsubdom.subdom.dom.ext
@subsub-dom.sub-dom.ext
Спасибо за помощь
В случае, если есть необходимость точно Grep и матч только существующий домен высшего уровня, посмотреть на https://stackoverflow.com/questions/14460680/how-to-get-a- list-of-tlds-using-bash-for-building-a-regex –