加拿大邮政编码的正则表达式也允许使用小写字母或前三个字符后的短划线

时间:2013-11-21 14:35:11

标签: .net regex

^[ABCEGHJ-NPRSTVXY]{1}[0-9]{1}[ABCEGHJ-NPRSTV-Z]{1}[ ]?[0-9]{1}[ABCEGHJ-NPRSTV-Z]{1}[0-9]{1}$

我想在此正则表达式中添加小写字符(目前只允许使用大写字母)。我还想在中间的分隔符:'[]?'也允许短划线(目前允许空间或没有空间)。我如何修改上述正则表达式以解释这些可能的变化。使用的语言是.net。

1 个答案:

答案 0 :(得分:2)

使用正则表达式构造函数时,传递RegexOptions.IgnoreCase flag

对于第二个要求,请将[ ]?更改为[ -]?

要点:

var regex = new Regex(@"^[ABCEGHJ-NPRSTVXY]{1}[0-9]{1}[ABCEGHJ-NPRSTV-Z]{1}[ -]?[0-9]{1}[ABCEGHJ-NPRSTV-Z]{1}[0-9]{1}$", RegexOptions.IgnoreCase);