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

时间:2012-08-15 07:27:53

标签: c# .net regex

我有postal code of Canada的正则表达式。

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

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

1 个答案:

答案 0 :(得分:64)

只需使用IgnoreCase选项,请参阅.NET regular Expression Options

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

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

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

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

^(?i)[ABCEGHJKLMNPRSTVXY]\d[A-Z] *\d[A-Z]\d$