编程语言中实数有很多表示方法,如:
(1)小数形式
0.21253
2.(表示2.0)
-12.785
(2)指数形式
1.24E-5
-2.56E+4求这样一个正则表达式可以实现区配所有的实数表示方法!分不够还可以再加!

解决方案 »

  1.   

    试一下
    //正则表达式
    string s_reg=@"^[-]?\d+.\d*(E\-[1-9]+)?$|^[-]?\d+.\d*(E\+[1-9]+){0,1}$";
      

  2.   

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

  3.   

    用double.TryParse不错用正则表达式的话 数值范围好象不好判断啊
      

  4.   

    sdk 目录下好像m$放了几个编译器的例子
      

  5.   

    17种正则表达式 
    (转)"^\\d+$"  //非负整数(正整数 + 0) 
    "^[0-9]*[1-9][0-9]*$"  //正整数 
    "^((-\\d+)|(0+))$"  //非正整数(负整数 + 0) 
    "^-[0-9]*[1-9][0-9]*$"  //负整数 
    "^-?\\d+$"    //整数 
    "^\\d+(\\.\\d+)?$"  //非负浮点数(正浮点数 + 0) 
    "^(([0-9]+\\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\\.[0-9]+)|([0-9]*[1-9][0-9]*))$"  //正浮点数 
    "^((-\\d+(\\.\\d+)?)|(0+(\\.0+)?))$"  //非正浮点数(负浮点数 + 0) 
    "^(-(([0-9]+\\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\\.[0-9]+)|([0-9]*[1-9][0-9]*)))$"  //负浮点数 
    "^(-?\\d+)(\\.\\d+)?$"  //浮点数 
    "^[A-Za-z]+$"  //由26个英文字母组成的字符串 
    "^[A-Z]+$"  //由26个英文字母的大写组成的字符串 
    "^[a-z]+$"  //由26个英文字母的小写组成的字符串 
    "^[A-Za-z0-9]+$"  //由数字和26个英文字母组成的字符串 
    "^\\w+$"  //由数字、26个英文字母或者下划线组成的字符串 
    "^[\\w-]+(\\.[\\w-]+)*@[\\w-]+(\\.[\\w-]+)+$"    //email地址 
    "^[a-zA-z]+://(\\w+(-\\w+)*)(\\.(\\w+(-\\w+)*))*(\\?\\S*)?$"  //url