我正在使用C#在窗口窗体上应用正则表达式。但是现场正则表达式不起作用
if (txtRefno.Text == "" && !Regex.IsMatch(txtRefno.Text, @"^[0-9]+$"))
{
msg.Text = "reference no. contain Invalid characters";
}
但它不能正常工作,不能接受一切。
我将模式更改为
"^[0-9]+$"
,但收到的结果相同。然后我更改了regex.IsMatch(inputstring, pattern) == false;
的条件,则应该显示错误,但它对我也不起作用。
最佳答案
我在Regex表达式方面不能为您提供帮助,因为我对此不太了解,但是我认为您应该在if语句中用OR替换AND,以便在文本框不为空的情况下允许编译器检查regex 。
if (txtRefno.Text.trim() == string.Empty || !Regex.IsMatch(txtRefno.Text, @"^[0-9]+$"))
{
msg.Text = "reference no. contain Invalid characters";
}
或者如果您不想在texbox为空的情况下显示消息,则可以使用以下内容
if (txtRefno.Text.trim() != string.Empty && !Regex.IsMatch(txtRefno.Text, @"^[0-9]+$"))
{
msg.Text = "reference no. contain Invalid characters";
}
关于c# - !Regex.IsMatch无法使用csharp以窗口形式工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6107603/