求正则表达式,马上给分!在线等!
想要正数,负数,正整数,负整数,正小数,负小数,整数,小数的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+$ //浮点数