2010-08-13 11 views
9

Quiero hacer coincidir una URL que contenga cualquier secuencia de caracteres de URL válidos pero no una palabra en particular. La URL en cuestión http://gateway.ovid.com y quiero coincidir con nada más que la palabra 'puerta' de modo:Regex - Haga coincidir cualquier secuencia de caracteres excepto una palabra en particular en una URL

pero

algo como lo siguiente :

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

pero no parece funcionar.


Actualización: Lo sentimos olvidemos mencionar el lenguaje, que es C# .NET

Respuesta

12

Su expresión regular es casi correcto, excepto el extra '|' después de '+'. Eliminar el '|'

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

Awesome! Eso funciona perfectamente. Estaba probando cada combinación que podría pensar también. –

-2

No ha especificado lengua de acogida, pero por qué no algo como esto psuedocode

bool good = Regex.Match(yourRegex) and not Regex.Match(gateway) 
Cuestiones relacionadas