NGR正则表达式匹配

时间:2014-04-23 08:07:28

标签: c# regex

我正在尝试验证NGR(国家网格参考)。这必须是2个字母的格式,后跟4,6,8或10位数字。前两个字母必须是SS,ST,SW,SX或SY。到目前为止我所拥有的是:

^[S][STWXY]\d{4}$|\d{6}$|\d{8}$|\d{10}$

问题是,这似乎是根据两个字母后跟4位数或6位数或8位数或10位数来验证

我想要两个字母和4个数字或2个字母和6个数字或2个字母和8个数字或2个字母和10个数字。

我与正则表达式没什么关系,所以我一直在尝试各种组合,但我显然遗漏了一些东西。

1 个答案:

答案 0 :(得分:6)

只需修改您的正则表达式,如下所示:

^[S][STWXY](\d{4}|\d{6}|\d{8}|\d{10})$

这将使OR(|)运算符仅比较数字