Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/312.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# NET中的正则表达式_C#_.net_Regex - Fatal编程技术网

C# NET中的正则表达式

C# NET中的正则表达式,c#,.net,regex,C#,.net,Regex,我应该用c#编写一个正则表达式模式,检查输入字符串是否包含某些字符,而不包含其他字符,例如: 我希望字符串只包含a-z,不包含(d,b),并且所有字符串的长度都大于5,我写“[a-z]{5,}”,如何避免输入包含d和b 附加问题:我是否可以选择在正则表达式中设置条件,换句话说,如果哪个boolian var等于true,则检查somthing,如果它等于false,则不检查它 如果你想跳过d和b,谢谢 [ace-z]{5,} 是的,您可以使用Regex类的isMatch方法进行布尔检查 Reg

我应该用c#编写一个正则表达式模式,检查输入字符串是否包含某些字符,而不包含其他字符,例如: 我希望字符串只包含a-z,不包含(d,b),并且所有字符串的长度都大于5,我写“[a-z]{5,}”,如何避免输入包含d和b

附加问题:我是否可以选择在正则表达式中设置条件,换句话说,如果哪个boolian var等于true,则检查somthing,如果它等于false,则不检查它


如果你想跳过d和b,谢谢

[ace-z]{5,}

是的,您可以使用Regex类的isMatch方法进行布尔检查

 Regex regex = new Regex("^[ace-z]{5,}$");
    if (regex.IsMatch(textBox1.Text))
    {
        errorProvider1.SetError(textBox1, String.Empty);
    }
    else
    {
        errorProvider1.SetError(textBox1, 
              "Invalid entry");
    }

对于第一个问题,为什么不试试这个:
[ace-z]{5,}
? 对于第二个选项,在执行正则表达式字符串之前,是否可以基于布尔变量以某种方式对其进行格式化? 或者,如果希望以编程方式排除某些字符,可以通过编程方式创建正则表达式,方法是在不排除的情况下显化所有字符。

简单正则表达式:

/[ace-z]{5}/

匹配五个字符“a”、“c”或“e”和“z”之间的任何字符。

我经常使用的一个有用的正则表达式资源是:


帮了我很多次。

在你的正则表达式中去掉逗号。@Tim Pietzcker-是的,谢谢你没有用,regex.isMatch为这个字符串“aaaab”返回true!在正则表达式中添加逗号:)
^[ace-z]{5,}$
以允许超过5个字符。这是最好的解决方案。它不起作用,无论如何,我更喜欢避免插入某些字符的表达式,如果可能的话,不要显式编写。谢谢你的帮助!我只在Q中写了一个例子,我不能每次都明确地写一个字符范围内没有几个字符的字符。@RRR那么您排除的carachter会改变吗?那么,为什么不以编程方式生成regex extended:[abcdefg…]来排除所需的字符呢?如果我没有任何选择,我会这样做,但如果我可以编写表达式来为我做到这一点——我更喜欢在编写[abcdefgh…]时,我不会用尽regex对象的可能性