C#里正则表达式的使用

一、示例

输入字符串为数值:^-?((\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;
   }
}


下一篇: