Intereting Posts
Можно ли сериализовать DateTimeOffset для строки времени zulu с Json.NET? Указание ограничения конструктора для общего параметра Возвращаемое значение лучшей практики vs Exception vs Enum Запрос UAC Elevation c # Невозможно использовать апостроф в StringFormat привязки XAML? Фильтрация DataGrid в WPF Формы Winform Закрытие и открытие новой формы Каковы наилучшие методы для библиотек classов, использующих инъекцию зависимостей для внутренних операций? Как получить размер (срез) из многомерного массива Удаление повторяющихся элементов из списка, содержащего class с элементами массива Как я могу реализовать NotOfType в LINQ, который имеет хороший синтаксис вызова? Как преобразовать визуальный базовый оператор \ в C # Почему вычисление факториала из реальных чисел (34+) возвращает 0 Присоединяйтесь к объявлению и присваиванию или не присоединитесь … Это вопрос Я получил сообщение об ошибке «Нет элемента ViewData типа« IEnumerable »

Как сделать регистр соответствия регулярным выражениям нечувствительным?

У меня есть регулярное выражение для почтового кода Канады .

^[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$