47

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

^[ABCEGHJKLMNPRSTVXY]{1}\d{1}[A-Z]{1} *\d{1}[A-Z]{1}\d{1}$

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

4

1 回答 1

114

只需使用该选项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$
于 2012-08-15T07:59:06.987 回答