string.replace(searchvalue,newvalue)
searchvalue
必須。規定子字串或要替換的模式的 regexp 物件。請注意,如果該值是乙個字串,則將它作為要檢索的直接量文字模式,而不是首先被轉換為 regexp 物件。
newvalue
必需。乙個字串值。規定了替換文字或生成替換文字的函式。
string
乙個新的字串,是用 replacement 替換了 regexp 的第一次匹配或所有匹配之後得到的。
這個引數比較好理解,要麼是字串要麼是正規表示式。上文說的「請注意,如果該值是乙個字串,則將它作為要檢索的直接量文字模式,而不是首先被轉換為 regexp 物件。」,意思是'/abc/gi'
不會被解析為正則物件,即使它跟正則寫法一樣。
本文不說第乙個引數,只說第二個引數。
這個引數要麼是普通字串,要麼是正則替換表示式字串,說來說去都是字串,要麼是乙個函式。
正則替換表示式
特殊替換字元:
字元 替換文字
$& 與正則相匹配的字串
$` 匹配字串左邊的字元
$』 匹配字串右邊的字元
$1,$2,$,3,…,$n 匹配結果中對應的分組匹配結果
$& 適用於沒有子表示式的情況
var sstr='討論一下正規表示式中的replace的用法';匹配字串左邊的所有字元sstr.replace(/正規表示式/,'《$&》');
// 得到:"討論一下《正規表示式》中的replace的用法"
var sstr='討論一下正規表示式中的replace的用法';匹配字串右邊的所有字元,注意,既然 $' 有單引號,那麼外面的引號必須雙引號,如果不可以雙引號,只能把 $' 的單引號轉義。sstr.replace(/正規表示式/,'《$`》');
// 得到:"討論一下《討論一下》中的replace的用法"
var sstr='討論一下正規表示式中的replace的用法';$1, $2, $3, …, $nsstr.replace(/正規表示式/,"《$'》");
// 得到:"討論一下《中的replace的用法》中的replace的用法"
依次匹配子表示式
var sstr='討論一下正規表示式中的replace的用法';先看sstr.replace(/(正則)(.+?)(式)/,"《$1》$2<$3>");
// 得到:"討論一下《正則》表達《式》中的replace的用法"
arguments
的用法:
var sstr='討論一下正規表示式中的replace的用法';引數分別為:sstr.replace(/(正則).+?(式)/,function() );
// ["正規表示式", "正則", "式", 4, "討論一下正規表示式中的replace的用法"]
如果加上全域性識別符號g,則是:
var sstr='討論一下正規表示式中的replace的正規表示式用法';也就是說,arguments是當前函式的內建屬性,指代當前匹配的引數偽陣列。arguments[0]就是當前匹配的字串。sstr.replace(/(正則).+?(式)/g,function() );
// ["正規表示式", "正則", "式", 4, "討論一下正規表示式中的replace的正規表示式用法"]
// ["正規表示式", "正則", "式", 19, "討論一下正規表示式中的replace的正規表示式用法"]
var sstr='討論一下正規表示式中的replace的正規表示式用法';函式做引數的優勢,在於可以對arguments做更複雜的操作,而不像只是乙個字串引數那麼簡陋。當然,arguments不是必須用,可以不用。sstr.replace(/(正則).+?(式)/g,function() );
// 正規表示式
// 正規表示式
// "討論一下正規表示式a中的replace的正規表示式a用法"
參考:
replace 結合正規表示式
為了簡化替換字串的操作,ecmscript提供了replace 方法,這個方法提供兩個引數,第乙個引數可以使乙個字串或regexp物件,第二個引數可以是乙個字串或者乙個函式。基礎知識 匹配整個模式的子字串。與regexp.lastmatch的值相同 匹配的子字串之前的字串,與regexp.leftc...
使用正規表示式Replace
使用regex.replace 方法可以剔除字串中的html 例如在text資料型別的資料庫字段,中存放的字串格式如下 一 學術研究課題 如果這段字串不經過處理顯示出來就是加粗的字型,如下 一 學術研究課題 如果現在想更改這個字串顯示的格式,將字型大小設定成13px,顏色設定成黑色。那要怎麼做?在這...
使用正規表示式Replace
使用regex.replace 方法可以剔除字串中的html 例如在text資料型別的資料庫字段,中存放的字串格式如下 一 學術研究課題 如果這段字串不經過處理顯示出來就是加粗的字型,如下 一 學術研究課題 如果現在想更改這個字串顯示的格式,將字型大小設定成13px,顏色設定成黑色。那要怎麼做?在這...