2017-01-24 85 views
-3

在這種情況下使用[]和()的區別是什麼?Javascript正則表達式

var str = "Hel?lo the?re , Woul?d you like some ice?cream?"; 
 
var rExp = /[?+]/ig; 
 
var rExp2 = /(\?+)/ig; 
 

 
console.log(str.replace(rExp, "")); 
 
console.log(str.replace(rExp2, ""));

可我還得到時使用的其他

+1

字符類和捕獲組 –

+0

第二個匹配'赫爾???? lo',第一個不 – Toto

+1

'[?+]'一個單個字符相匹配,' ?'或'+'。 '(\?+)'匹配1個或多個'?'符號。選擇你需要的任何acc。滿足您的需求。 –

回答

0

你可以用含有+以及字符串檢查兩個正則表達式的解釋。

第一個正則表達式[?+]/ig從字面上尋找字符類[]?+

+不能用作charcter類中的量詞。

量詞必須放在字符類[?]+之後,該字符類不會出現一個或多個問號。

第二個正則表達式使用帶有單個轉義字符?和量詞+的組構造()

這兩個正則表達式對不敏感的i和全局g共享相同的標誌。

var str = "Hel?lo t+he?re , Wo+ul?d you like some ice?cre+am?"; 
 
var rExp = /[?+]/ig; 
 
var rExp2 = /(\?+)/ig; 
 

 
console.log(str.replace(rExp, "")); 
 
console.log(str.replace(rExp2, ""));