【发布时间】:2012-03-04 16:54:20
【问题描述】:
我有一个 RegularExpressionValidator,其中唯一有效的输入是 8 个字符长,由字母 MP 后跟六个数字组成。目前我有以下正则表达式,它确实有效
^(MP|mp|Mp|mP)[0-9]{6}$
但感觉有点hacky。我希望能够指定 MP 可以是大小写的任意组合,而不必列出可用的组合。
谢谢,
大卫
【问题讨论】:
我有一个 RegularExpressionValidator,其中唯一有效的输入是 8 个字符长,由字母 MP 后跟六个数字组成。目前我有以下正则表达式,它确实有效
^(MP|mp|Mp|mP)[0-9]{6}$
但感觉有点hacky。我希望能够指定 MP 可以是大小写的任意组合,而不必列出可用的组合。
谢谢,
大卫
【问题讨论】:
你可以在定义 Regex 对象时这样做
Regex exp = new Regex(
@"^mp[0-9]{6}$",
RegexOptions.IgnoreCase);
或者,您可以使用^(?i)mp[0-9]{6}$ 语法,这将使正则表达式的特定位不区分大小写。但我个人会使用第一个选项(它更容易阅读)。
有关详细信息,请参阅msnd 上的文档。
【讨论】:
(?i) ==> @"^(?i)(mp)[0-9]{6}$"
@"^mp[0-9]{6}$" 就可以了。