如何使正则表达式匹配不区分大小写?
我有加拿大邮政编码的正则表达式。
^[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$