2013-10-21 32 views
1

我有一個正則表達式問題:我試圖強制以「00」或「+」開頭的電話號碼,但我的嘗試沒有工作。以'00'或'+'開頭的電話號碼的正則表達式

String PHONE_PATTERN = "^[(00)|(+)]{1}[0-9\\s.\\/-]{6,20}$"; 

它仍然允許例如「0123-45678」。我究竟做錯了什麼?

+0

檢查您的字符類。 –

+0

你爲什麼用括號括起'(00)|(+)'? –

+0

+必須逃脫。 –

回答

2

內部字符類的每一個字符字面匹配,這意味着[(00)|(+)]將這個表達式匹配0 or + or | or (or)

用途:

String PHONE_PATTERN = "^(?:00|\\+)[0-9\\s.\\/-]{6,20}$"; 
+0

作品!非常感謝你! – Francis

+0

不客氣,很高興它解決了。 – anubhava