2010-07-01 55 views
7
public static final String REGEX_ADDRESS_ZIP = "^[0-9\\ -.]+$"; 

上面的驗證郵政編碼的正則表達式似乎允許驚歎號(!),即使我沒有在這裏允許它。不知道錯誤是什麼?我是否需要更改正則表達式模式如何防止通過正則表達式感嘆號

+0

在我看來,這個正則表達式只接受數字短劃線和點。你能舉個例子嗎? – Toto 2010-07-01 10:08:33

+0

你不必逃避空間。 '[0-9 .-]'很好。 – musiKk 2010-07-01 10:13:40

+0

啊,是的,我們都做了這一個:-) – 2010-07-01 18:11:27

回答

10

連字符-character classes中的元字符,除非它是第一個或最後一個字符。它更改爲:

^[0-9\\ .-]+$ 

[0-9\\ -.]指從09到期間的任何字符(所有的數字),反斜線\,並且從空間的任何字符(ASCII 32)(ASCII 46)which translates to

!"#$%&'()*+,-.