我有以下正则表达式模式:"[A-TVWZ]"
. 我需要它也接受 Empty strings ""
,我怎样才能在我的模式中插入它?我的 DataGridView 需要它,因为当用户离开单元格而不写任何东西时,它会在验证时出错...
问问题
8083 次
3 回答
11
也许这太简单了;我会检查没有正则表达式的空字符串。
例如:
if ( string.IsNullOrEmpty( myString ) || Regex.IsMatch( "[A-TVWZ]", myString )
{
....
}
看:
于 2012-05-15T05:43:11.527 回答
5
试试这个"[A-TVWZ]?"
或"^[A-TVWZ]?$"
问号 ( ?
) 将确保模式匹配零次或 1 次。因此,零次表示空字符串。
于 2012-05-15T05:46:15.960 回答
3
这样做的纯正则表达式方式是
[A-TVWZ]|^$
这将匹配上述字母之一或空字符串。您的评论表明用户无论如何只能输入一个字符,因此另一种选择是
^[A-TVWZ]?$
这类似于 Waqas 的回答。但是,这个不会因为锚点而引入其他可能匹配的字符串。
于 2012-05-15T06:14:51.503 回答