Regex - соответствует любой последовательности символов, кроме определенного слова в URL - PullRequest
9 голосов
/ 13 августа 2010

Я хочу сопоставить URL-адрес, содержащий любую последовательность допустимых символов URL-адреса, но не определенное слово. URL в вопросе http://gateway.ovid.com, и я хочу сопоставить что угодно, кроме слова «шлюз», так:

но

Примерно так:

^http://([a-z0-9\-\.]+|(?<!gateway))\.ovid\.com$

но, похоже, не работает.


Обновление: Извините, не забудьте упомянуть язык, это C # .NET

Ответы [ 2 ]

12 голосов
/ 13 августа 2010

Ваше регулярное выражение почти правильно, кроме дополнительного '|'после «+».Удалить '|'

^http://([a-z0-9\-\.]+(?<!gateway))\.ovid\.com$
0 голосов
/ 13 августа 2010

Вы не указали язык хоста, но почему не что-то вроде этого psuedocode

bool good = Regex.Match( yourRegex ) and not Regex.Match(gateway)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...