正则表达式验证字符串只包含0 - 9,+,#,*,[和]

时间:2012-12-20 15:15:14

标签: c# regex string validation

在我的c#应用程序中,我需要验证字符串以确保它们只包含以下内容:

  • 0 - 9
  • +
  • *
  • [

当我的用户在DataGridView控件的单元格中编辑字符串字段时,我需要验证该值。我的CellValidating事件处理程序目前如下所示:

if (!Regex.IsMatch(e.FormattedValue.ToString(), @"\A\b[0-9]+\b\Z"))
{
    // notify the user that the string is invalid and cancel validation
    e.Cancel = true;
}

这似乎适用于0 - 9但我还没有得到一个包含我需要的所有元字符的正则表达式。我尝试一次添加一个元字符到现有的正则表达式,但它不起作用。例如......

if (!Regex.IsMatch(e.FormattedValue.ToString(), @"\A\b[0-9#]+\b\Z"))

...不允许#就像我想的那样。逃避它也没有任何区别。任何人都可以为我阐明这一点吗?

1 个答案:

答案 0 :(得分:7)

使用此正则表达式^[0-9+#*\[\]]+$