2012-04-26 71 views
0

不工作我有此Javascript手機正則表達式: /^([\+][0-9]{1,3}[ \.\-])?([\(]{1}[0-9]{2,6}[\)])?([0-9 \.\-\/]{3,20})((x|ext|extension)[ ]?[0-9]{1,4})?$/的Javascript正則表達式在Java中

字符串 「063-444-444」 通行證成功地。

我試圖把它轉換成Java:

^([\\+][0-9]{1,3}[ \\.\\-])?([\\(]{1}[0-9]{2,6}[\\)])?(\\[0-9 \\.\\-\\]{3,20})((x|ext|extension)[ ]?[0-9]{1,4})?$ 

相同的字符串在Java中失敗。怎麼了?

回答

4

你還沒有正確地轉義它。您不需要繞過字符類別的括號([])。

嘗試:

^([\\+][0-9]{1,3}[ \\.\\-])?([\\(]{1}[0-9]{2,6}[\\)])?([0-9 \\.\\-\\/]{3,20})((x|ext|extension)[ ]?[0-9]{1,4})?$ 
+0

謝謝你,我逃[和]因爲我有一個運行時異常「未閉合的字符類xxx附近」。無論如何,這似乎工作。 – braincell 2012-04-26 09:39:06