比如判断这种字符串 "\r\nContent-Disposition: form-data; name=\"{0}\""这种应该返回为false请大家帮帮忙

解决方案 »

  1.   

    这没必要用正则 直接IndexOf
      

  2.   

    string str="\r\nContent-Disposition: form-data; name=\"{0}\"";
    if(str.IndexOf('{')!=-1)
    {
    ///
    }
      

  3.   

    含有返回true  不含返回false
      

  4.   

    我是判断一行文字里面所有的双引号中是否包含大括号,如果用indexof不太好判断
      

  5.   

    这个可以用 正则表达式平衡组 来匹配,但是    "\r\nContent-Disposition: form-data; name=\"{0}\""
         这种应该返回为false你这是为什么呢?
      

  6.   


    未含有大括号返回true,含有大括号返回false
      

  7.   

    我是判断一行文字里面所有的双引号中是否包含大括号,如果用indexof不太好判断
    例如:    var stringKeyHeader = "\r\n--" + boundary + "\r\nContent-Disposition: form-data; name=\"{0}\""+ "\r\n\r\n{1}\r\n";
      

  8.   

    你该不会是在等代码吧!自己转去!
    int Check(char *s, int l)
    {
        char *e;
        int flag=1;
        for(e=s+l; s<e; ++s)
            switch(*s) {
                case "\"":
                    flag=-flag; break;
                case "{":
                    if(flag<0) return 0;
            }
        return 1;
    }
      

  9.   

                Regex r = new Regex(@"(?<open>"")[^""]*?{[^""]*?(?<-open>"")");
                Match m = r.Match("\r\nContent-Disposition: form-data; name=\"{0}\"");
                return !m.Success;
      

  10.   


    Regex r = new Regex(@"(?<=".*)\{.*\}(?=.*")");
    Match m = r.Match("\r\nContent-Disposition: form-data; name=\"{0}\"");
    return !m.Success;
    用前后两组零宽断言判断一个引号的组合,在中间查找{}
      

  11.   

    这正则真麻烦,随便写一个还不对,这回可以了r = new Regex(@"^((?(o)(?<c>{))|(?<-o>"")|(?<o>"")|(?(o)[^""{]|[^""]))*(?(c)(?!))$");
    Match m = r.Match("\r\nContent-Disposition: form-data; name=\"{0}\"");
    return m.Success;
      

  12.   


    "a=\"1\" {b}=\"13\" d=\"s\"";
    这时会失效的
      

  13.   


                string str = "\r\nContent-Disposition: form-data; name=\"{0}\"";
                string str1 = "\r\nContent-Disposition: form-data; name=\"0\"";
                string str2 = "\r\nContent-Disposition: form-data; name={0}";
                Regex reg = new Regex(@"""[^""]*\{[^\}]*\}[^""]*""");
                Console.WriteLine(!reg.Match(str).Success);//false
                Console.WriteLine(!reg.Match(str1).Success);//true
                Console.WriteLine(!reg.Match(str2).Success);//true
                Console.ReadLine();