c# - !Regex.IsMatch无法使用csharp以窗口形式工作

标签 c# regex winforms visual-studio

我正在使用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/

相关文章:

C# 应用程序在调试的情况下运行,但并非没有

c# - ListView 显示项目但不显示组

c# - 循环遍历列表并删除项目时,集合被修改错误

c# - LinqKit 嵌套调用 "LINQ to Entities does not recognize the method ' Invoke'"

c# - mongodb 和 C# 中的工作单元

c# - 组合多个谓词

javascript - 如何使用正则表达式在指定字母(即A、D、F、R)和数字之间插入括号?

r - 在 R 的正则表达式中是否有等效的 "&"用于反向引用整个匹配?

java - 最精确的正则表达式匹配

c# - 来自 ssh 远程文本文件的多行文本框