正则表达式 - 匹配除URL中的特定单词之外的任何字符序列

时间:2010-08-13 17:14:36

标签: c# regex

我希望匹配包含任何有效网址字符序列但不包含特定字词的网址。有问题的网址http://gateway.ovid.com我希望匹配“网关”这个词以外的任何内容:

如下所示:

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

但它似乎不起作用。


更新:抱歉忘记提及语言,这是C#.NET

2 个答案:

答案 0 :(得分:12)

你的正则表达式几乎是正确的,除了额外的'|'在'+'之后。删除'|'

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

答案 1 :(得分:-3)

你没有指定宿主语言,但为什么不像这样的psuedocode

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