!regex.IsMatch无法使用csharp以窗口形式工作

问题描述

|| 我正在使用C#在窗口窗体上应用正则表达式。但是现场正则表达式不起作用
if (txtRefno.Text == \"\" && !Regex.IsMatch(txtRefno.Text,@\"^[0-9]+$\"))
{
    msg.Text = \"reference no. contain Invalid characters\";
}
但它不能正常工作,不能接受一切。 我将模式更改为“ 1”,但收到的结果相同;然后我更改了
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\";
    }
    ,问题不在于您的正则表达式,而在于布尔表达式的第一部分。比较空字符串没有意义。更改为 txtRefno.Text!= \“ \”     

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...