這可能是一個愚蠢的問題,但我是iOS編程新手,我什麼都想不出來。 我的應用程序我需要檢查某個郵政編碼是否在一個範圍內。對於德國或美國的簡單數字代碼很容易,但現在我必須爲加拿大代碼做。檢查郵政編碼是否在
加拿大郵政編碼示例如下所示:A0A,J3X,R7N,V1M。
有沒有辦法做到這一點?
感謝您的幫助!
這可能是一個愚蠢的問題,但我是iOS編程新手,我什麼都想不出來。 我的應用程序我需要檢查某個郵政編碼是否在一個範圍內。對於德國或美國的簡單數字代碼很容易,但現在我必須爲加拿大代碼做。檢查郵政編碼是否在
加拿大郵政編碼示例如下所示:A0A,J3X,R7N,V1M。
有沒有辦法做到這一點?
感謝您的幫助!
您可以使用這樣的正則表達式:
^(A0A|J3X|R7N|V1M)$
如果你想的範圍,你可以做這樣的事情:
^(A0A|J3X|R7N|V1[M-Z])$
^--- Will match V1M until V1Z
的範圍V1Z另一個例子是:
^(A0A|J3X|R7N|V[5-9][M-Z])$
^--- Will match VxM until VxZ and V5x until V9x
如果你只是想要一個數字,你可以使用\d
(這是的快捷方式210)。 \w
的意思是[A-Za-z0-9_]
。
您可以使用正則表達式類指定範圍。像:
[0-4]
[7-9]
[A-M]
[O-X]
This answer on SO有字符類表達如何定期範圍工作一個很好的說明。 要釋義:你不僅限於字母和數字([A-Z]
或[0-9]
),但你應該小心嘗試任何更復雜的範圍。
範圍將允許according to the list of ASCII characters之間的任何字符匹配開始和結束字符。這意味着任何範圍在技術上都是有效的(您可能會看到奇怪的結果)。例如,這兩個類是相同的:
[0-Z]
[0-9:;<=>[email protected]]
當你開始喜歡用正則表達式中的字符類範圍時,要小心。它實際上從頭到尾都是通過[ASCII字符列表](http://www.asciitable.com/),因此['[0-Z]'和'[0-9 :;]是一樣的。 <=>?@ A-Z]'](http://stackoverflow.com/a/19409948/703229)。 – Sam 2014-09-03 21:50:02
@Sam yup,你是完全正確的。如果你想我可以用你的評論更新我的答案 – 2014-09-03 21:54:54
非常感謝! – user3347446 2014-09-04 16:12:53
你想要這樣的東西:'^(A0A | J3X | R7N | V1M)$'? – 2014-09-03 20:51:39
@上帝啊,我現在覺得真的很愚蠢,我還沒有這個哈哈!有範圍類似的事情嗎?例如V1M - V1Z? – user3347446 2014-09-03 20:54:57
我會用它發表一個答案 – 2014-09-03 21:11:16