Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/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# 忽略ASP.NET RegularExpressionValidator中的区分大小写_C#_Regex - Fatal编程技术网

C# 忽略ASP.NET RegularExpressionValidator中的区分大小写

C# 忽略ASP.NET RegularExpressionValidator中的区分大小写,c#,regex,C#,Regex,我有一个RegularExpressionValidator,其中唯一有效的输入是8个字符长,由字母MP和6位数字组成。目前,我有下面的正则表达式,它确实有效 ^(MP|mp|Mp|mP)[0-9]{6}$ 但感觉有点不舒服。我希望能够指定MP可以是大写和小写的任意组合,而不必列出可用的组合 谢谢 David您可以在定义Regex对象时执行此操作 Regex exp = new Regex( @"^mp[0-9]{6}$", RegexOptions.IgnoreCase);

我有一个RegularExpressionValidator,其中唯一有效的输入是8个字符长,由字母MP和6位数字组成。目前,我有下面的正则表达式,它确实有效

^(MP|mp|Mp|mP)[0-9]{6}$
但感觉有点不舒服。我希望能够指定MP可以是大写和小写的任意组合,而不必列出可用的组合

谢谢


David

您可以在定义Regex对象时执行此操作

Regex exp = new Regex(
    @"^mp[0-9]{6}$",
    RegexOptions.IgnoreCase);
或者,您可以使用
^(?i)mp[0-9]{6}$
语法,这将使特定的regex位不区分大小写。但我个人会使用第一个选项(它更容易阅读)


有关详细信息,请参阅。

+1的文档,但是内联选项的syntay看起来是这样的
(?i)
==>
>“^(?i)(mp)[0-9]{6}$”
,我认为OP需要组来进行替换,所以这里可能不需要它,所以
@^mp[0-9]{6}$”
可以。我将使用?I语法,因为我没有定义任何正则表达式对象,我正在ASPX页面中设置正则表达式。请参阅回答警告,客户端验证不适用于?I语法,因为javascript不支持模式修饰符。可能重复