一、示例
输入字符串为数值:^-?((\d+\.\d+)|\d+)?$
^ 开始标记
? 匹配前面-零次或一次,即出现一次负号或者不出现
\d 匹配一个数字字符。等价于[0-9],即出现一个0-9的数字
+ 匹配前面的数字一次或多次。即出现一个或多个0-9的数字
\. 转义小数点。用于连接后面小数部分
| 或。即两个选项间匹配一项
$ 结束标记
二、应用
/// <summary> /// 检查输入的字符串是否为数值类型 /// </summary> /// <param name="strValue">输入字符串</param> /// <returns>输入正确:false;输入错误:true</returns> static public bool CheckValueValidating(string strValue) { if (string.IsNullOrWhiteSpace(strValue)) return true; strValue = Regex.Replace(strValue, @"\s", "");//空白字符 System.Text.RegularExpressions.Regex rex = new System.Text.RegularExpressions. Regex(@"^-?((\d+\.\d+)|\d+)?$", RegexOptions.IgnorePatternWhitespace); if (!(rex.IsMatch(strValue))) { return true; } else { return false; } }