在C#的程序开发过程中,有些时候需要校验输入的字符串是否为非0的负整数。此文将介绍如何使用正则表达式 校验输入的文本是否为非0的负整数,程序中调用匹配的方法主要是C#类库中的Regex类的IsMatch方法,IsMatch方法是正则表达式校验的常 用方法,其签名为bool IsMatch(string input, string pattern),参数input表示输入的校验参数值,pattern表示正则表达式语句。
Regex正则表达式类所在的命名空间为System.Text.RegularExpressions,因此使用之前需要先引入此命名空间。
针对校验输入字符是否为非0的负整数,封装一个方法如下:
public bool IsFuZhengShu(string strValue)
{
bool result = Regex.IsMatch(strValue, @"^-[1-9][0-9]*$");
return result;
}
在上述封装的方法中,正则表达式中符号-表示匹配一个负号,[1-9]表示第一位匹配1到9数字,[0-9]表示匹配0到9的数字,星号*表示匹配0个到多个数字,$表示结束。
下面以实例代码的方式验证上面的方法:
bool result1 = IsFuZhengShu("acbS");
bool result2 = IsFuZhengShu("张三");
bool result3 = IsFuZhengShu("1234");
bool result4 = IsFuZhengShu("-1a34");
bool result5 = IsFuZhengShu("-134");
上述实例运行结果只有result5为true,其他全部为false。