Comment rendre un match regex insensible à la casse?

J’ai l’expression régulière suivante pour le code postal du Canada .

^[ABCEGHJKLMNPRSTVXY]{1}\d{1}[AZ]{1} *\d{1}[AZ]{1}\d{1}$ 

Il fonctionne bien mais accepte uniquement les lettres majuscules. Je veux que cela fonctionne pour les lettres majuscules et minuscules.

Utilisez simplement l’option IgnoreCase , voir Options d’expression régulière .NET

Donc, votre création de regex pourrait ressembler à ceci

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

J’ai également supprimé tous vos {1} car ils sont superflus. Chaque élément est mis en correspondance par défaut une fois, il n’est pas nécessaire de l’indiquer explicitement.

L’autre possibilité serait d’utiliser des modificateurs en ligne, lorsque vous ne pouvez pas le définir sur l’object.

 ^(?i)[ABCEGHJKLMNPRSTVXY]\d[AZ] *\d[AZ]\d$