解析并提取英国邮政编码的部分内容

时间:2016-08-02 14:33:35

标签: c# regex

我正在尝试将英国邮政编码分成区域,区域和部门。例如

如果我有像B75 5TW这样的邮政编码

我希望输出为

  1. B75 5TW
  2. B75 5
  3. B75
  4. B7
  5. 我试过这个正则表达式但是没有按预期工作。

    ^([A-Z]{1,2})([0-9][0-9A-Z]?)\s*([0-9])([A-Z]{2})$
    
    var regex = new Regex(@"^([A-Z]{1,2})([0-9][0-9A-Z]?)\s*([0-9])([A-Z]{2})$");
    var matches = regex.Match(postcode);
    
    Output should be like below
        matches.groups[0] - B75 5TW
        matches.groups[1] - B75 5
        ...etc
    

    任何帮助非常感谢。感谢。

1 个答案:

答案 0 :(得分:1)

为了实现这一目标,您希望像这样嵌套您的群组

^((([A-Z]{1,2})[0-9][0-9A-Z]?)\s*[0-9])[A-Z]{2}$