Я хочу сопоставить URL-адрес, содержащий любую последовательность допустимых символов URL-адреса, но не определенное слово. URL в вопросе http://gateway.ovid.com, и я хочу сопоставить что угодно, кроме слова «шлюз», так:
но
Примерно так:
^http://([a-z0-9\-\.]+|(?<!gateway))\.ovid\.com$
но, похоже, не работает.
Обновление: Извините, не забудьте упомянуть язык, это C # .NET
Ваше регулярное выражение почти правильно, кроме дополнительного '|'после «+».Удалить '|'
^http://([a-z0-9\-\.]+(?<!gateway))\.ovid\.com$
Вы не указали язык хоста, но почему не что-то вроде этого psuedocode
bool good = Regex.Match( yourRegex ) and not Regex.Match(gateway)