解决方案 »

  1.   


                string s = @"data-test=""'key1':true,'key2':false""";
                MatchCollection mc = Regex.Matches(s, @"['""](key\d+)['""]:(\w+)");
                foreach (Match m in mc)
                {
                    Console.WriteLine(m.Groups[1].Value + ":" + m.Groups[2].Value);
                }
      

  2.   

    key1  key2...只是为了说明问题,实际字符并不是key1,key2这样。
    实际情况可能是 'sum':10,'date':2013-12-23等等
    匹配的正则: @"data-test\s*=\s*('|"")\{(['|""](.+?)['|""]\s*:\s*[^,]+,?)+\}\1",就是不知道怎么提取所有key