我很困惑在JavaScript正則表達式這行代碼:正則表達式範圍如何使用簡寫語法?
.replace(/[^\w- ]+/g,'')
我明白,這是試圖執行一個替換不在字字符類的字符。但它也是一個範圍,因此它必須包含其他範圍。我會假設也許還有空間角色,但是在控制檯中運行它似乎並沒有取代它。
[^ \ W]就意味着沒有以下字符:A-ZA-Z0-9_
如何爲一系列可能的嗎? \ w-從什麼開始?
我很困惑在JavaScript正則表達式這行代碼:正則表達式範圍如何使用簡寫語法?
.replace(/[^\w- ]+/g,'')
我明白,這是試圖執行一個替換不在字字符類的字符。但它也是一個範圍,因此它必須包含其他範圍。我會假設也許還有空間角色,但是在控制檯中運行它似乎並沒有取代它。
[^ \ W]就意味着沒有以下字符:A-ZA-Z0-9_
如何爲一系列可能的嗎? \ w-從什麼開始?
\w-
不是字符範圍,因爲\w
不是字符。 -
在這裏沒有特別的含義,所以[^\w- ]
匹配任何不是單詞字符,字面短劃線或空格的東西。
由於\w
不是字符,語法不是有效範圍。字符類中位置的連字符不能形成範圍,而會被解釋爲文字或錯誤。正則表達式與任何字符匹配,但不包括:單詞字符(a-z
,A-Z
,0-9
,_
),連字符(-
)和空格字符(' '
)。