gpt4 book ai didi

c# - 英国邮政编码正则表达式

转载 作者:太空狗 更新时间:2023-10-29 19:39:27 24 4
gpt4 key购买 nike

<分区>

我希望能够验证英国邮政编码,理想情况下,我希望通过以下情况:

  1. W1
  2. 第 12 周
  3. WC1
  4. WC1A
  5. WC12
  6. W1 6BT
  7. W12 6BT
  8. WC1 6BT
  9. WC1A 6BT
  10. WC12 6BT
  11. W16BT
  12. W126BT
  13. WC16BT
  14. WC1A6BT
  15. WC126BT

我有以下正则表达式模式:

^(GIR 0AA)|(((A[BL]|B[ABDHLNRSTX]?|C[ABFHMORTVW]|D[ADEGHLNTY]|E[HNX]?|F[KY]|G[LUY]?|H[ADGPRSUX]|I[GMPV]|JE|K[ATWY]|L[ADELNSU]?|M[EKL]?|N[EGNPRW]?|O[LX]|P[AEHLOR]|R[GHM]|S[AEGKLMNOPRSTY]?|T[ADFNQRSW]|UB|W[ADFNRSV]|YO|ZE)[1-9]?[0-9]|((E|N|NW|SE|SW|W)1|EC[1-4]|WC[12])[A-HJKMNPR-Y]|(SW|W)([2-9]|[1-9][0-9])|EC[1-9][0-9])( [0-9][ABD-HJLNP-UW-Z]{2})?)$

此模式允许使用 3 位或 4 位和 6 位或 7 位的邮政编码(因此只有 3 位或 4 位的外向代码,或 6 位或 7 位的完整邮政编码)但是它不允许第 4 点和第 6 点(邮政编码省略空格)

我也有这个模式:

^(GIR 0AA|[A-PR-UWYZ]([0-9]{1,2}|([A-HK-Y][0-9]|[A-HK-Y][0-9]([0-9]|[ABEHMNPRV-Y]))|[0-9][A-HJKPS-UW]) {0,1}[0-9][ABD-HJLNP-UW-Z]{2})$

此模式允许 6 或 7 位邮政编码,我们不带空格,但不适用于不完整的邮政编码(仅限外向代码)

很抱歉提出一个已经在这里广泛讨论的问题,但我找到的所有示例都符合我的部分要求,但不是全部。

理想情况下,我想要一个允许 3、4、6 和 7 位邮政编码的正则表达式模式,我们不带空格。

更新:

我已经重新完成了我的通行证案例,因为我认为它最初并不完全全面。它的基本概念应该遵循英国邮政编码模式,并验证以下任何组合:

1 Letter 1 Number
1 Letter 2 Numbers
2 Letters 1 Number
2 Letters 1 Number 1 Letter
2 Letters 2 Numbers
1 Letter 1 Number (OptionalSpace) 1 Number 2 Letters
1 Letter 2 Numbers (OptionalSpace) 1 Number 2 Letters
2 Letters 1 Number (OptionalSpace) 1 Number 2 Letters
2 Letters 1 Number 1 Letter (OptionalSpace) 1 Number 2 Letters
2 Letters 2 Numbers (OptionalSpace) 1 Number 2 Letters

^ 希望上面的内容是有道理的,并且足够详细。我知道有点难读。

回答:

所以我现在有一个正则表达式可以通过上述所有情况(示例和模式)。正如下面的评论中所提到的,要满足所有英国邮政编码的需求,即使不是不可能,也是非常困难的,但是,下面的代码可以满足我的所有需求,并且应该适用于 90% 的输入情况:

^(GIR 0AA)|[a-z-[qvx]](?:\d|\d{2}|[a-z-[qvx]]\d|[a-z-[qvx]]\d[a-z-[qvx]]|[a-z-[qvx]]\d{2})(?:\s?\d[a-z-[qvx]]{2})?$

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com