偶然發現了這一點,不知道是什麼原因。JavaScript RegExp:爲什麼會導致雙反斜槓(\)出錯?
// Results in "Syntax error in regular Expression".
var re = RegExp('\\');
我知道構造函數函數需要一個字符串作爲參數。並且反斜槓在字符串中用於轉義具有特殊含義的字符。我知道我必須將\ d這樣的字符轉義爲\\ d。
因此:正確的反斜槓應該被解釋爲一些正常的字符。
反而會引發錯誤。爲什麼?
任何人都可以解釋這一點嗎?
因爲'/ \ /'是一個無效的正則表達式。如果你想要一個正則表達式來匹配一個反斜槓,你需要'/ \\ /'或'new RegExp('\\\\')' – Phil