var newstr= str.replace(/[\W_]/g, ''); //replace all non-alfanumeric blank
這是我從Javascript中的字符串中刪除非字母數字字符時所嘗試的代碼。你能解釋我這個特定的Javascript行嗎?
請解釋一下</[\W_]/g>
和</\w+/g>
和</\w/g>
之間的區別。
var newstr= str.replace(/[\W_]/g, ''); //replace all non-alfanumeric blank
這是我從Javascript中的字符串中刪除非字母數字字符時所嘗試的代碼。你能解釋我這個特定的Javascript行嗎?
請解釋一下</[\W_]/g>
和</\w+/g>
和</\w/g>
之間的區別。
如果我們有/[\ W _] /克任何在STR對象此特殊符號的更換空的( 「」)值。
\w
:1個字的字符。它相當於[A-Za-z0-9_]
\w+
:1個或更多的字詞。
\W
:1非單詞字符。它相當於或[^A-Za-z0-9_]
所以\W
是任何不是字母,不是數字,也不是下劃線。
[\W_]
:帶有非單詞字符和下劃線的字符類。 這相當於[^A-Za-z0-9]
注意與摹葉形更換不了了之,代碼str.replace(/\W/g,'')
可以得到同樣的結果str.replace(/\W+/g,'')
。前者將一次替換1個字符,而後者將替換當前1個或更多字符的組。關於正則表達式的語法
更多信息可以在this old post
找到或者你可以直接複製粘貼&在網上正則表達式測試你的正則表達式。
例如regexr或regex101
然後檢查解釋,或將鼠標指針懸停在模式上,以獲取有關模式每個部分的提示。
爲什麼你不試圖自己找到解釋? – zerkms
檢查[正則表達式在線教程](https://regexone.com/) –
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Regular_Expressions –