windowopen屬性replace參數寫法
第壹種方法壹般是放壹個字符串在第二個參數中,直接用於替換所匹配到的字符;
第二種方法比較高階的技巧,第壹個參數為正則表達式,第二個參數使用$字符可以取得捕獲括號中的內容,再進行相關操作。
字符替換文本:
$& 與正則相匹配的字符串
$` 匹配字符串左邊的字符
$’ 匹配字符串右邊的字符
$1,$2,$,3,…,$n 匹配結果中對應的分組匹配結果
還有第三種方法, 給第二個參數傳入匿名函數,函數的返回值用做替換的字符。
匿名函數有4個參數可以傳入,當然,這些參數都不是必須要傳的。
第壹個參數:正則所匹配到的字符;
第二個參數:捕獲到的字符;
第三個參數:正則匹配到的每段字符的第壹個字符的索引;
第四個參數:用於匹配的字符串主體;
第四個參數:用於匹配的字符串主體;
例子:
第壹種:
"abrde".replace("r", "c");
"abrde".replace(/r/, "c");
第二種:
var sStr='討論壹下正則表達式中的replace的用法';
sStr.replace(/正則表達式/,'《$&》');
// 得到:"討論壹下《正則表達式》中的replace的用法"
var sStr='討論壹下正則表達式中的replace的用法';
sStr.replace(/正則表達式/,'《$`》');
// 得到:"討論壹下《討論壹下》中的replace的用法"
var sStr='討論壹下正則表達式中的replace的用法';
sStr.replace(/正則表達式/,"《$'》");
// 得到:"討論壹下《中的replace的用法》中的replace的用法"
var sStr='討論壹下正則表達式中的replace的用法';
sStr.replace(/(正則)(.+?)(式)/,"《$1》$2<$3>");
// 得到:"討論壹下《正則》表達<式>中的replace的用法"
第三種:
字符串:<h1>哈哈哈</h1>
正則表達式:/&([^&;]+);/g
a:< b:lt c:0 d:<h1>哈哈哈</h1>
a:> b:gt c:6 d:<h1>哈哈哈</h1>
a:< b:lt c:14 d:<h1>哈哈哈</h1>
a:> b:gt c:21 d:<h1>哈哈哈</h1>