2012-02-23 108 views
0

我想爲我的運輸部分製作一個不區分大小寫的正則表達式,它捕獲KW9以外的KW部分中的所有郵政編碼。我有以下正則表達式捕獲所有KW郵政編碼,但是如何爲KW9添加例外情況?KW郵政編碼的正則表達式

^[kK][wW][1-9]\s?[1-9][a-zA-Z]{2}$ 

任何想法?

編輯:

我複製並粘貼錯誤的REG前,這裏是實際的REG例如:

^[kK][wW][1-9]{2}\s?[1-9][a-zA-Z]{2}$ 

在KW地區有效的郵編是KW 1-9和10 KW -17(但[kK] [wW] [1-9] {2}將驗證它們),格式爲(不區分大小寫)kw,1/2數字,可選空白,單個數字和2個字母。一個有效的郵政編碼是KW1 1AA和無效郵政編碼是KW9 1AA

+1

一個你想匹配的郵編的例子和一個你不會幫助的例子。但是嘗試將第一個[1-9]的'[1-9]'改爲'[1-8]''。 – Dervall 2012-02-23 12:19:46

+0

'^ [kk] [wW] [1-8] ...'? – 2012-02-23 12:21:21

回答

1

使用這個簡單的一個。

/^KW[1-8][0-9]?\s?[1-9][A-Z]{2}$/i 

添加/i使其不區分大小寫。

這匹配KW1-8和KW10-89。它不匹配KW9或KW90-99

+0

@IgorKorkhov不符合。我更新了。但是你檢查了較舊的那個。 :P – 2012-02-23 12:33:14

+0

謝謝@Shiplu :)我用你的方式來製作'^ [kK] [wW] [1-8] [0-9]?\ s?[1-9] [a-zA-Z] {2} $' – 2012-02-23 12:50:58

0

試試這個:

^(KW|Kw|kW)9\s?[1-9][a-zA-Z]{2}$ 

這應該抓住一切KW9情況下,除了KW9(小寫)不敏感

+0

它需要匹配除kw9以外的所有有效郵政編碼,因爲這是ubercart運輸部分接受它們的方式,因爲它是更大規模的一部分 – 2012-02-23 12:28:51

0

試試這個:

/^kw([1-8]|1[0-7])\s?[1-9][a-z]{2}$/i 

我已經啓用了「不區分大小寫」選項。 對於1-8 + 10-17,我剛剛使用了(... | ...)語法。如果你不需要捕獲這個號碼,你可以使用「非捕獲」前綴:

/^kw(?:[1-8]|1[0-7])\s?[1-9][a-z]{2}$/i 
相關問題