Попробуйте это:
^https?://(?:[^./@]+\.)*domain\.com(?![^/])
[^.]+\.
означает один или несколько не точечных символов, за которыми следует точка ; быстрый и грязный способ сопоставить компонент имени домена и его конечную точку. Я бы не использовал это, чтобы найти доменных имен в большем объеме текста, но этого достаточно для проверки, которую вы делаете. Поместите это в группу и добавьте квантификатор *
, чтобы получить регулярное выражение, соответствующее нулю или большему количеству компонентов.
Вам неважно, что следует за доменным именем, но вы должны убедиться, что достигли его конца; например, вы не хотите соответствовать http://domain.company.com
. Последняя часть регулярного выражения, (?![^/])
, является отрицательным взглядом, который означает , если после этого есть другой символ, и этот символ не /
, ошибка .