为了匹配一些网址,,但有一类网址我不想要的,,打比方网址如下:http://aa.xxx.com
http://bb.xxx.com
http://cc.xxx.com
...
http://img.xxx.com我要用一个正则表达式写出来,,如果碰上http://img.xxx.com 那么匹配不成功..前段时间这个问题我解决了的,,可是最近代码被我无意中删除了,,这个功能又忘掉了怎么写了,,请大家帮忙

解决方案 »

  1.   

    不知你希望匹配的是什么样的?
    只有 http://www.xxx.com 这样的吗?
      

  2.   

    不要匹配的网址是确定的,,,要匹配的网址是不固定的,,也就是没有固定的关键词,不要匹配的固定关键词是 http://img   也就是说,如果字符串里面有 http://img那么就不要匹配成功
      

  3.   

    按照你的思路:
    public bool urlIsValid(string url)
            {
                string pattern = "http://(?<Info>.*).com";
                MatchCollection matchCollection = Regex.Matches(url, pattern);
                if (matchCollection.Count != 1) return true;            string result = matchCollection[0].Groups["Info"].Value;
                return result.Split('.').Length != 2;
            }这里不对url的合法性做检查,只对http://xxx.xxx.com的格式非法检查,我的思路是取出http://和.com之间的部分,然后根据.来分隔,看是否存在1个.
      

  4.   

    谢谢,lovvver,不过这方法我是知道的...这不是最简洁的方法...
      

  5.   

    规则不是很明确,仅就楼主当前的例子写的,不一定适合所有需求http://(?!img\b)([\w-]+\.)+[\w-]+这种整体排除的问题,通常是在适当的位置用否肯环视来实现的