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

bmt*_*033 5 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;
}
Run Code Online (Sandbox Code Playgroud)

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

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

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

bur*_*ION 7

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