在我的 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"))
...不允许 # 就像我想的那样。逃避它也没有什么不同。任何人都可以为我阐明这一点吗?