簡體   English   中英

倫敦郵政編碼的正則表達式模式不匹配

[英]Regex pattern for London postcodes not matching

我正在嘗試為 Javascript 創建一個正則表達式模式,以測試提供的郵政編碼值,以確定它是否與倫敦郵政編碼匹配。 倫敦郵政編碼以以下任一開頭:

  • EC、WC、NW、SE 或 SW
  • E#、N#、W#(其中 # 是 1 到 9,個位數)

我的正則表達式模式是: ^[nN|eE|wW][1-9]{1}|[ecEC|wcWC|nw|NW|seSE|swSW]{2} ,由於某種原因,它似乎認為一個值從CE比賽開始? 當我沒有指定這個時......

我在哪里錯了?

嘗試以下方式:

pattern = new RegExp('^(?:(?:n|e|w)[1-9]|(?:ec|wc|[ns]w|se))','gi')

查看在線演示


在您發表評論后,我認為您可能希望根據您在 OP 中的鏈接完全匹配所有倫敦郵區。

pattern = new RegExp('^(?:e(?:[1-9]|1[0-8]|20)|n(?:[1-9]|1\d|2[012])|w(?:[1-9]|1[0-4])|ec[1-4]|wc[12]|nw(?:[1-9]|1[01])|se(?:[1-9]|1\d|2[0-8])|sw(?:[1-9]|1\d|20)) [a-z]+(?: [a-z']+)*$','gi')

查看在線演示

您可能必須將反斜杠加倍。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM