C# 忽略ASP.NET RegularExpressionValidator中的区分大小写
我有一个RegularExpressionValidator,其中唯一有效的输入是8个字符长,由字母MP和6位数字组成。目前,我有下面的正则表达式,它确实有效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);
^(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不支持模式修饰符。可能重复