2012-03-26 17 views
2
var STRIP_PHN_REG_EX = /[\x\X\(\)\.\-\s\',]/g; 

的Visual Studio提供了以下不是非常詳細的警告:「語法錯誤的正則表達式」Visual Studio警告關於此正則表達式的語法是什麼?

然而,正則表達式運行正常。我在這裏錯過了什麼?

+1

什麼語法錯誤警告? – BoltClock 2012-03-26 20:56:10

+2

我不認爲你需要這麼多的反斜槓......「」,「(」,「)」,這些在子表達式中都很好。 – Pointy 2012-03-26 20:57:32

回答

4

\x\X在此處無效。 \x可以與兩個十六進制數字一起使用來標識特定字符—例如,\x09表示製表符(\t)—但您沒有在這裏使用它;和\X在JavaScript正則表達式中使用。

但是既然我不能告訴你想要這個正則表達式,我不能告訴你如何解決它。也許你的意思是

var STRIP_PHN_REG_EX = /[xX().\-\s',]/g; 

? (匹配任何空白字符,以及任何的xX().-',。)


編輯補充:也許通過\x\X你的意思分別是「小寫十六進制數字」和「大寫十六進制數字」? JavaScript中沒有特殊的語法,但您可以這樣寫:

var STRIP_PHN_REG_EX = /[0-9a-fA-F().\-\s',]/g;