50分求 一正则表达⑩  只要正确答案非负正数 最多两位小数
0
0.1
0.01
22.01
222.01

解决方案 »

  1.   

     string patternstr = @"^(([1-9]\d*|0)\.([1-9]|\d[1-9]))|0$";
      

  2.   

    上面的有点小问题..这个是正确的
    string patternstr = @"^([1-9]\d*|0)(\.([1-9]|\d[1-9]))?$";
      

  3.   

    string str = "1";
            string patternstr = @"^([1-9]\d*|0)(\.([1-9]|\d[1-9]))?$";
            Match mc = Regex.Match(str, patternstr);
            if (mc.Success)
            {
                Response.Write(mc.Value);
            }//通不过??
      

  4.   

    string patternstr = @"^([1-9]\d*|0)(\.\d{1,2})?$";
      

  5.   


    ^(0|([1-9]\d*))(\.\d+(?<!0))?$