我有以下正则表达式用于匹配加拿大邮政编码。
^[ABCEGHJKLMNPRSTVXY]{1}\d{1}[A-Z]{1} *\d{1}[A-Z]{1}\d{1}$
它能正常工作,但只接受大写字母。我希望它能同时接受大小写字母。
我有以下正则表达式用于匹配加拿大邮政编码。
^[ABCEGHJKLMNPRSTVXY]{1}\d{1}[A-Z]{1} *\d{1}[A-Z]{1}\d{1}$
它能正常工作,但只接受大写字母。我希望它能同时接受大小写字母。
只需使用选项IgnoreCase
即可,参见.NET正则表达式选项
因此,您的正则表达式创建可能看起来像这样:
Regex r = new Regex(@"^[ABCEGHJKLMNPRSTVXY]\d[A-Z] *\d[A-Z]\d$", RegexOptions.IgnoreCase);
我还移除了您的所有{1}
,因为它是多余的。每个项目默认情况下只匹配一次,不需要明确指定。
另一种可能性是在无法在对象上设置时使用内联修饰符。
^(?i)[ABCEGHJKLMNPRSTVXY]\d[A-Z] *\d[A-Z]\d$