与正则表达式不匹配

时间:2009-11-13 09:34:09

标签: regex blacklist

由于限制,我需要写一个正则表达式,我想黑名单而不是白名单某些字符串(或网站)

这里我想禁止youtube和IP地址。以下是与两个站点匹配的代码。我怎么能不匹配它们并允许两个谷歌(或任何其他网站)匹配?

这是我用来测试我的正则表达式的一些C#代码。

        var mq = Regex.Match("http://google.com\nhttp://youtube.com\nhttp://google.com/ddhf\n72.72.72.72\n",
            @"(.*youtube\.com.*|\d+\.\d+\.\d+\.\d+)", RegexOptions.Multiline);
        while (mq.Success)
        {
            string sz = mq.Groups[0].Value;
            Console.WriteLine(sz);
            mq = mq.NextMatch();
        }

        return;

1 个答案:

答案 0 :(得分:2)

您需要the ?! construct。所以它会是:

(?!.*youtube\.com.*|\d+\.\d+\.\d+\.\d+)