У меня есть регулярное выражение для почтового кода Канады .
^[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$