日期:2014-05-19  浏览次数:20887 次

求正则表达式,马上给分!在线等!
想要正数,负数,正整数,负整数,正小数,负小数,整数,小数的C#正则表达式,马上给分!

------解决方案--------------------
随便写的,初步测了下,如果有不符合的,楼主给个例子


^(?:[1-9]\d*(?:\.\d+)?|0\.(?!0+$)\d+)$ //正数
^-(?:[1-9]\d*(?:\.\d+)?|0\.(?!0+$)\d+)$ //负数
^[1-9]\d*$    //正整数
^-[1-9]\d*$   //负整数
^(?:[1-9]\d*\.\d+|0\.(?!0+$)\d+$   //正浮点数
^-(?:[1-9]\d*\.\d+|0\.(?!0+$)\d*)$  //负浮点数
^(?:-?[1-9]\d*|0)$   //整数
^-?([1-9]\d*|0)\.\d+$  //浮点数

------解决方案--------------------
正数,负数,正整数,负整数,正小数,负小数,整数,小数
如果说正数前面不用带+号的话。
那么
^\d+$ 代表正整数
^-\d+$ 负整数
^\d+\.\d+$ 正小数
^-\d+\.\d+$ 负小数
------解决方案--------------------
(^([\d]+)$)|(^[\-][\d]+$)|(^[\-\d]+[\.][\d]+$)|(^[\d]+[\.][\d]$)
那么这一句就能满足你所有的要求了
------解决方案--------------------
//匹配任意数(实数)
patterns.Numeric = /^(-|\+)?\d+(\.\d+)?$/;

//匹配正数
patterns.UnsignedNumeric = /^\d+(\.\d+)?$/;

//匹配整数
patterns.Integer = /^(-|\+)?\d+$/;

//匹配正整数
patterns.UnsignedInteger = /^\d+$/;
------解决方案--------------------
^\d(? <!0)\d*(?(?=\.)\.\d+$|$) //正数
^-\d(? <!0)\d*(?(?=\.)\.\d+$|$) //负数
^\d(? <!0)\d$    //正整数
^-\d(? <!0)\d$   //负整数
^\d(? <!0)\d*\.\d+$  //正小数数
^-\d(? <!0)\d*\.\d+$  //负小数数
^-?\d(? <!0)\d$   //整数
^-?\d(? <!0)\d*\.\d+$  //浮点数