1.若是正則表達式中設置了修飾符g,那麼源字符串中全部與模式匹配的子串都將替換成第二個參數指定的字符串;若是不帶修飾符g,則只替換全部匹配的第一個子串。javascript
2.replace()的第一個參數如果字符串而不是正則表達式,則replace()將直接搜索這個字符串java
eg. text.replace(/javascript/gi,"JavaScript"); // 將全部不區分大小寫的javascript都替換成JavaScript正則表達式
3.正則表達式中使用圓括號括起來的子表達式是帶有從左到右的索引編號的,並且正則表達式會記憶與每一個子表達式匹配的文本,若是在替換字符串中出現了$加數字,那麼replace()將用與指定的子表達式相匹配的文原本替換這兩個字符。函數
eg. var quote = /"([^"]*)"/g; //一段用雙引號括起來的文本,且中間內容區域不能包含引號spa
text.replace(quote,'「$1」'); //用中文引號替換英文引號,同時保持引號之間的內容(存儲在$1中)沒有被修改索引
4.replace()方法的第二個參數能夠是函數ip
eg. //使用函數動態生成的字符串_attr來替換
字符串
text.replace(正則表達式1,function(word){
var _attr=word.replace(正則表達式2,替換的字符串);
return _attr; });io
其中,函數中的參數 word 是與 正則表達式1 匹配的字符串
function