仅允许A-I 0-9和符号$#(RegEX)

时间:2013-05-03 08:46:07

标签: c# regex

我目前正在使用C#开展学生项目,我想检查一个字符串是否只包含以下字符:

A-I 0-9 $ #

原始字符串:

string rawData ="$A008B20130503C103804D00000000E1022F0080G0128H022I022#";

我的代码如下:

string regEXstring = @"^[A-I0-9$#]+$";
Regex regex = new Regex(regEXstring);
if (regex.IsMatch(rawData))
   {
       dataOK = true;
   }
   else
       dataOK = false;

我做错了什么?

1 个答案:

答案 0 :(得分:1)

修正rawdata / rawData错误,代码运行正常。 dataOK变量随您的示例数据变为true,如果将其他字符添加到字符串,则变为false

从您的示例数据判断,您可以改进验证,以便您也可以确定:

  • 字符串以$
  • 开头
  • 字符串以#
  • 结尾
  • 字符串包含由单个字符后跟至少三位数
  • 组成的实体

为此,请使用如下模式:

string regEXstring = @"^\$([A-I]\d{3,})+#$";