2010-08-13 18 views
9

Chcę dopasować adres URL zawierający dowolną sekwencję prawidłowych znaków URL, ale nie określonego słowa. URL w pytaniu http://gateway.ovid.com i chcę dopasować wszystko, ale słowo 'bramy' tak:Regex - Dopasuj dowolny ciąg znaków oprócz określonego słowa w adresie URL

ale

Coś jak następuje:

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

ale nie wydają się działać.


Aktualizacja: Niestety zapomnieć o język, to C# .NET

Odpowiedz

12

Twój regex jest prawie poprawne, z wyjątkiem dodatkowego "|" po "+". Usuń "|"

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

Awesome! To działa idealnie. Próbowałem każdej kombinacji, o której też mogłem pomyśleć. –

-2

Nie podano języka hosta, ale dlaczego nie coś takiego psuedocode

bool good = Regex.Match(yourRegex) and not Regex.Match(gateway) 
Powiązane problemy