求一个判断输入数值大于0,不能等于0的正则表达式!我想问题对于各位高手来说应该是简单的,麻烦各位了!3Q

解决方案 »

  1.   

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

  2.   

    ^([1-9]\d*|(\d*?\.0+[1-9]\d*)|(\d*[1-9]\d*\.\d*))$这个是〉0
      

  3.   

    string s = "(^[1-9][0-9]*((\\.)[0-9]+)?$)|(^0\\.[0-9]*[1-9]$)"; while(true)
    {
    string ss = Console.ReadLine();
    Regex r = new Regex(s,System.Text.RegularExpressions.RegexOptions.Singleline|System.Text.RegularExpressions.RegexOptions.Compiled|System.Text.RegularExpressions.RegexOptions.IgnoreCase);
    System.Text.RegularExpressions.Match
    cc = r.Match(ss);
    if(cc.Success)
    {
    Console.WriteLine(ss);
    }
    else
    {
    Console.WriteLine("error");
    }
    }
      

  4.   

    呵呵,楼主已经结帐了,0.0的问题之前确实忽略了,不过用DeRoshia(知秋一叶)的还是有问题的,就是没有考虑“0.”,“123.”,“0.0000”以及更多0的情况,又改进了下,用下面的应该是没问题了
    ^(([1-9]\d*(\.\d+)?)|(0\.0*[1-9]\d*))$
      

  5.   

    哦,更正一下,DeRoshia(知秋一叶)的考虑到了“0.”以及“0.000”或更多0的情况,但是没有考虑到“12.”和“0.01”以及更多0的情况