如何使正则表达式匹配不区分大小写?

我有加拿大邮政编码的正则表达式。

^[ABCEGHJKLMNPRSTVXY]{1}\d{1}[AZ]{1} *\d{1}[AZ]{1}\d{1}$ 

它工作正常,但只接受大写字母。 我希望它适用于大写和小写字母。

只需使用IgnoreCase选项,请参阅.NET正则表达式选项

所以你的正则表达式创建看起来像这样

 Regex r = new Regex(@"^[ABCEGHJKLMNPRSTVXY]\d[AZ] *\d[AZ]\d$", RegexOptions.IgnoreCase); 

我删除了你所有的{1}因为它是多余的。 每个项目默认匹配一次,无需明确说明。

另一种可能是使用内联修饰符,当您无法在对象上设置它时。

 ^(?i)[ABCEGHJKLMNPRSTVXY]\d[AZ] *\d[AZ]\d$